1

J'ajoute plusieurs marqueurs, et ce que je veux faire est de cliquer, obtenir cette position de marqueur spécifique.Google maps obtient la position d'un marqueur

Cependant pour le moment il fonctionne mais il affiche lat et lng pour le dernier marqueur créé. Comment cela peut-il être résolu de sorte que lorsque je clique sur le marqueur, il me donne cette position spécifique de ce marqueur.

function algolia_search(position) { 
    clearOverlays(); 
var APPLICATION_ID = '75RQSC1OHE'; 
var SEARCH_ONLY_API_KEY = 'f2f1e9bba4d7390fc61523a04685cf12'; 
var INDEX_NAME = 'businesses'; 
var PARAMS = { hitsPerPage: 20 }; 
// Client + Helper initialization 
var algolia = algoliasearch(APPLICATION_ID, SEARCH_ONLY_API_KEY); 
var algoliaHelper = algoliasearchHelper(algolia, INDEX_NAME, PARAMS); 
// Map initialization 
algoliaHelper.on('result', function(content) { 
    renderHits(content); 
    var i; 
    // Add the markers to the map 
    for (i = 0; i < content.hits.length; ++i) { 
    var hit = content.hits[i]; 
    var marker = new google.maps.Marker({ 
     position: {lat: hit._geoloc.lat, lng: hit._geoloc.lng}, 
     map: map, 
     label: hit._geoloc.slug, 
     animation: google.maps.Animation.DROP 
    }); 
    markers.push(marker); 
    marker.addListener('click', function() { 
     var destinationLat = marker.getPosition().lat(); 
     var destinationLng = marker.getPosition().lng(); 
     console.log(lat); 
     console.log(lng); 
     console.log(destinationLat); 
     console.log(destinationLng); 

Répondre

1

vous avez besoin d'un listerner sur la carte pour un clic dans event.latLng vous avez les coordonnées

google.maps.event.addListener(map, 'click', function(event) { 
    alert ('Lat : ' + event.latLng.lat() + ' Lng : ' + event.latLng.lng()) 
}); 

ne le fait que vous avez déjà placer le marqueur sur les cartes, vous pouvez utiliser une fermeture

var addListenerOnPoint = function(actMark){ 

    actMark.addListener('click', function() { 
     alert ('Lat : ' + actMark.position.lat() + ' Lng : ' +actMark.position.lng()); 
    }); 


    for (i = 0; i < content.hits.length; ++i) { 
     var hit = content.hits[i]; 
     var marker = new google.maps.Marker({ 
     position: {lat: hit._geoloc.lat, lng: hit._geoloc.lng}, 
     map: map, 
     label: hit._geoloc.slug, 
     animation: google.maps.Animation.DROP 
    }); 
    addListenerOnPoint(marker, 
       ); 
    markers.push(marker); 

    } 
+0

nope qui ne fonctionne pas encore me apporte même lat et lng –

+0

.. impossible ... ce listerner retourner la coord du point que vous cliquez sur la carte .. pourrait être, vous avez placé le code au mauvais endroit .. – scaisEdge

+0

bien cela fonctionne quand je clique sur la carte, mais pas quand je clique sur le marqueur –