谷歌地图v3 KmlLayer,Geocoder

时间:2010-10-05 08:03:20

标签: xml google-maps geocoding kml

我在制作加载具有地址而不是latlng的XML文件的Google地图时遇到了一些问题。 XML文件包含大约10条记录。 我无法弄清楚如何做到这一点。

    $(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>

帮助PLZ

1 个答案:

答案 0 :(得分:1)

2天后确定我的解决方案:

使用ajax加载XML并循环文档以获取地址,然后在

之后
map = new google.maps.Map()

地址是来自xml的地址,应该有街道,城市,国家

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');
   }
   });