Remplacement de GTileLayer dans Google Maps v3, avec ImageMapType, le Carrelage de la boîte englobante?
J'ai besoin de mettre à jour ce code:
radar_layer.getTileUrl=function(tile,zoom) {
var llp = new GPoint(tile.x*256,(tile.y+1)*256);
var urp = new GPoint((tile.x+1)*256,tile.y*256);
var ll = G_NORMAL_MAP.getProjection().fromPixelToLatLng(llp,zoom);
var ur = G_NORMAL_MAP.getProjection().fromPixelToLatLng(urp,zoom);
var dt = new Date();
var nowtime = dt.getTime();
var tileurl = "http://demo.remoteservice.com/cgi-bin/serve.cgi?";
tileurl+="bbox="+ll.lng()+","+ll.lat()+","+ur.lng()+","+ur.lat();
tileurl+="&width=256&height=256&reaspect=false&cachetime="+nowtime;
return tileurl;
};
Je me suis rendu:
var DemoLayer = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
var llp = new google.maps.Point(coord.x*256,(coord.y+1)*256);
var urp = new google.maps.Point((coord.x+1)*256,coord.y*256);
var ll = googleMap.getProjection().fromPointToLatLng(llp);
var ur = googleMap.getProjection().fromPointToLatLng(urp);
var dt = new Date();
var nowtime = dt.getTime();
var tileurl = "http://demo.remoteservice.com/cgi-bin/serve.cgi?";
tileurl+="bbox="+ll.lng()+","+ll.lat()+","+ur.lng()+","+ur.lat();
tileurl+="&width=256&height=256&reaspect=false&cachetime="+nowtime;
return tileurl;
},
tileSize: new google.maps.Size(256, 256),
opacity:1.0,
isPng: true
});
Plus précisément, j'ai besoin d'aide avec cet article:
var llp = new google.maps.Point(coord.x*256,(coord.y+1)*256);
var urp = new google.maps.Point((coord.x+1)*256,coord.y*256);
var ll = googleMap.getProjection().fromPointToLatLng(llp);
var ur = googleMap.getProjection().fromPointToLatLng(urp);
Le service veut le carreau de la boîte englobante de ce que je comprends. Cependant, ll et ur ne semblent pas correctes.
Je l'ai eu au travail et de l'affichage de la totalité de la carte de la boîte englobante de chaque tuile, mais bien sûr ce n'est pas ce dont j'ai besoin.
Aucune indication ici serait grandement apprécié, n'ayant pas la GTileLayers dans la V3 est bien si je peux le contourner, jusque-là, je suis frustré.
OriginalL'auteur justdev | 2010-05-26
Vous devez vous connecter pour publier un commentaire.
La solution dans mon cas était d'utiliser une mise à jour de la tuile de service à partir du même éditeur. Il accepte plus simple supplémentaire:
Comme vous pouvez le voir, c'est beaucoup plus facile que le code que j'ai posté dans la description du problème.
Toutefois, si vous lisez encore probablement, vous voulez toujours la réponse pour le problème d'origine, qui est la conversion de latlng de pixels. Ne vous inquiétez pas, j'ai une solution pour que.
Pour accéder à l'4 utile latlng, le point et le pixel conversions, vous devez ajouter un mannequin OverlayView.
Étape 1) Définir le talon de sorte qu'il est disponible dans le monde entier, avec votre carte et d'autres vars:
Étape 2) Après le rendu d'une carte, d'installation de ce mannequin/stub OverlayView comme suit:
Maintenant vous avez une fonctionnelle OverlayView lié à la carte, toutes les fois que vous besoin d'utiliser ces conversions, vous pouvez le faire comme ceci:
Dans mon cas, je vais l'utiliser pour créer des info bulles, voici un extrait de mon événement click:
Espère que cela aide quelqu'un d'autre de faire le saut à la V3.
Si vous vous demandez pourquoi nous avoir à sauter à travers les cerceaux de faire quelque chose qui est si simple dans la V2, la réponse est assez évident quand vous pensez à ce sujet. V3 est le programme d'installation pour bien fonctionner sur les appareils mobiles, où la bande passante et de la puissance cpu sont limitées. Ils ont éliminé le plus de code possible pour obtenir le simple cartes de rendu, et ils attendent que vous manuellement fil de ces extras, si vous avez absolument besoin d'eux.
Si j'avais plus de temps je ferais un sample.html mais cela devrait vous aller.
OriginalL'auteur justdev
Merci pour les détails. En fait, dans mon cas, je ne pouvais pas changer l'API à utiliser des tuiles nombre j'ai besoin de passer LatLng.
J'ai trouvé cette solution... pour l'instant ça fonctionne pour moi:
OriginalL'auteur GillesV
Il a travaillé pour moi
J'ai utilisé MapBox.Lumière de Style Tileset sur la page de Google API V3
OriginalL'auteur durgas09