Comment obtenir X Y Z les coordonnées de la tuile par cliquez sur la Notice de la carte
Je voudrais demander de l'aide pour faire face à l'éventuelle utilisation de la non-standard coordonnées sur la carte en Dépliant.
Je veux utiliser Dépliant pour afficher des cartes personnalisées avec mes propres tuiles générateur. Les tuiles sont générés à la volée par un script, selon l'endroit où il est prévu d'affichage (paramètres {x}, {y}, {z} dans la demande de l'URL du script)
Carte zoomable (de 0 à 10), la taille de ~16000 * 16000 tuiles en zoom maximum, et 16 * 16 tuiles dans un minimum), et il affichera une variété d'objets, chaque objet dans une autre tuile.
Chaque tuile de 64 * 64 pixels est l'objet sur la carte.
Pour chaque objet (un carré de tuiles) je veux l'afficher de l'information sur clic de souris, par l'envoi via une requête AJAX vers le serveur. Je ne voulais pas de pré-charge de toutes les informations au sujet de tous les objets de l'objectif de l'optimisation.
Mon principal problème - je ne peux pas comprendre comment obtenez correctement le X Y Я coordonnées de la tuile sur laquelle la souris est cliqué.
Essentiellement parce que chaque tuile quand il est chargé à partir du serveur est lié à la grille {x}, {y}, {z}, et donc je veux obtenir ces {x}, {y}, {z} à partir de clics sur la carte et de les envoyer pour de plus amples requête AJAX pour obtenir des informations sur l'objet.
Il est maintenant possible d'obtenir sur le point que Latlng des coordonnées ou des coordonnées en pixels par rapport au coin supérieur gauche de la carte, je ne peut pas faire référence à carreaux de la grille.
Et aussi je voulais savoir la possibilité d'obtenir les coordonnées du clic par rapport à la tuile. Par exemple, Si la dalle a des dimensions de 64 * 64, et cliquez était dans le centre de la tuile, alors comment puis-je obtenir par rapport à coordonner de cliquez sur [32, 32]?
Parce que Si nous sachant {X}, {Y}, {Z} les coordonnées de la tuile et de la relative X* et Y* les coordonnées de cliquer à l'intérieur de la dalle, nous pouvons le faire “alternative universelle grille de coordonnées”.
Peut-être que c'est pas un problème et il peut être facilement résolu, mais je n'ai jamais travaillé avec toutes les Cartes de l'API, et donc je veux savoir la réponse à cette question.
Merci d'avance pour votre aide!
OriginalL'auteur user3263317 | 2014-02-02
Vous devez vous connecter pour publier un commentaire.
Voici un exemple de travail pour arriver Zoom, X et Y les coordonnées de cliqué sur la tuile (à l'aide de carte openstreetmap): http://jsfiddle.net/84P9r/
basé sur une réponse https://stackoverflow.com/a/19197572
OriginalL'auteur Lukas Vrabel
Vous pouvez utiliser le
mouseEventToLayerPoint
etmouseEventToContainerPoint
méthodes dans le Dépliant de l'API pour convertir les pixels de l'écran de pixels par rapport à la partie supérieure gauche de la carte, et ensuite à l'aide d'un peu de mathématiques, vous pouvez profiter de l'emplacement à l'intérieur d'une tuile.OriginalL'auteur tmcw
C'est ce Dépliant n'en interne:
comment voulez-vous convertir x/y des coordonnées lat, long
obtenez point (lat,long) --> carte il à la tuile c'est à l'intérieur --> obtenir les coordonnées de la case/case (gauche,droite, haut, bas)
OriginalL'auteur nathancahill