/ / google map v3 KmlLayer, geocodificador - xml, google-maps, geocodificação, kml

google map v3 KmlLayer, Geocoder - xml, google-mapas, geocodificação, kml

Tenho alguns problemas ao criar um mapa do google que carrega arquivos XML com endereços em vez de latlng. Arquivo XML contém cerca de 10 registros. Eu não consigo descobrir como fazer isso.

    $(document).ready(function(){

var refreshId = setInterval(function(){

var latlng = new google.maps.LatLng(18.156291402835436, 22.2802734375);
var myOptions = {
zoom: 3,
center: latlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

var georssLayer = new google.maps.KmlLayer("data.xml");

var geocoder = new google.maps.Geocoder();
//????
georssLayer.setMap(map);

}, 10000);
});



<div id="map_canvas" style="width:99%; height:99%"></div>

ajuda plz

Respostas:

1 para resposta № 1

OK minha solução depois de 2 dias:

carregar o XML com ajax e fazer o loop do documento para o endereço, depois

map = new google.maps.Map()

endereço é o endereço de xml, deve ter rua, cidade, país

geocoder.geocode({ "address": address }, function (results, status) {

if (status == google.maps.GeocoderStatus.OK) {
//Make the latitude*longitude format
var latlng = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());
//Show me the money!!!
var marker = new google.maps.Marker({
map: map,
position: latlng,
title: address
});


google.maps.event.addListener(marker, "click", function() {
infowindow.setContent(html);
infowindow.open(map,marker);
});
google.maps.event.trigger(marker, "click");
}
});