Comment obtenir les coordonnées d'un point particulier sur une carte dans OpenLayers?Trouver les coordonnées d'un point dans OpenLayers
11
A
Répondre
33
Gestion des événements de clic sur la carte Click. Voici one de many codes d'échantillons que vous pouvez trouver dans OpenLayers mailing archives de la liste:
map.events.register('click', map, handleMapClick);
function handleMapClick(e)
{
var lonlat = map.getLonLatFromViewPortPx(e.xy);
// use lonlat
// If you are using OpenStreetMap (etc) tiles and want to convert back
// to gps coords add the following line :-
// lonlat.transform(map.projection,map.displayProjection);
// Longitude = lonlat.lon
// Latitude = lonlat.lat
}
5
<html>
<head>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
function init(){
map = new OpenLayers.Map('map');
base_layer = new OpenLayers.Layer.WMS("OpenLayers WMS",
"http://labs.metacarta.com/wms/vmap0", {layers: 'basic'});
map.addLayer(base_layer);
map.zoomToMaxExtent();
map.events.register('click', map, handleMapClick);
}
function handleMapClick(evt)
{
var lonlat = map.getLonLatFromViewPortPx(evt.xy);
// use lonlat
alert(lonlat);
}
</script>
</head>
<body onload="init()">
Hello Map.<br />
<div id="map"></div>
</body>
</html>
@mloskot Votre réponse est grande vous avez eu une erreur avec la variable EVT.
Juste ajouté le balisage html pour en faire une page de travail.
Voulez-vous dire obtenir les coordonnées du point sur lequel l'utilisateur a cliqué? Ou montrant les coordonnées du curseur lorsque vous le déplacez sur la carte? – amercader
oui, mais je veux obtenir toutes les coordonnées des points marqués précédemment sur la même carte. C'est possible? Je suis en train de mettre en place un système de cartographie de la criminalité. Pour cela, j'ai besoin de cette fonctionnalité. Merci. – cuser
Qu'est-ce que vous entendez par "points marqués précédemment"? Je pense que vous devez être plus précis et décrire le flux d'interaction complet de l'utilisateur, sinon il sera difficile de vous aider. – mloskot