2015-07-14 1 views
1

J'essaie d'obtenir le long et lat de villes à travers une boucle for.Google Map geocoder obtenir long et lat

Maintenant que j'ai fait mon codage mais que le géocodeur est une fonction asynchrone, quelque chose ne fonctionne pas (la carte ne se charge pas et les marqueurs ne sont pas affichés). avec la sortie de geocoder j'essaye d'afficher des marqueurs sur le MAP.

function codeAddress(address, map, callback) { 
    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     var latLng = new google.maps.LatLng(results[0].geometry.location.lat().lat,results[0].geometry.location.lng()); 
        var markerObj = new MarkerWithLabel({ 
        position: latLng, 
        title:name, 
        labelContent: name, 
        labelClass:'marker-labels', 
        icon:markerImg 
       }); 
     markerObj.setMap(map); 
     console.log(latLng); 
     return callback(map, latLng); 
     } else { 
     console.log('Geocode was not successful for the following reason: ' + status); 
     } 
    }); 
    } 
    function initialize() { 
     var mapOptions = { 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

    map = new google.maps.Map(document.getElementById('googleMap'),mapOptions); 

    if ('' != markersAddress) { 
    for (var x=0; x<markersAddress.length; x++) { 
     var address = markersAddress[x].address; 
     var name = markersAddress[x].name; 
     codeAddress(address, map, function(map, latLng) {}) 
    } 
    } 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

JS Fiddle http://jsfiddle.net/qe9soL4o/5/

+1

'Quelque chose ne fonctionne pas' ?? une erreur dans la console? – Umair

+0

@Umair voici le violon JS http://jsfiddle.net/qe9soL4o/5/ – dev1234

+0

@Umair je voulais dire que la carte ne s'affiche pas – dev1234

Répondre

3

Vous utilisez MarkerWithLabel mais vous ne avez inclus ce

Inclure ces deux fichiers dans la tête

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>

<script src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script>

Notez que l'ordre de ces fichiers est important

+0

Je l'ai réparé http://jsfiddle.net/qe9soL4o/35/ – dev1234

+1

Heureux d'entendre ... en regardant votre Fiddle .. J'ai appris une nouvelle chose ajoutant firebug à la sortie de violon ... merci: P – Umair