2015-04-01 60 views
0

我想將這三件事合併爲一。如何將徽標添加到谷歌地圖地理編碼api

我要添加銷就像我在小提琴1中做的那樣2我在小提琴2中的代碼。但是我需要使用數據不同的數據源。我在小提琴1中的工作方式是經緯度。但是因爲我不能用新的數據源做到這一點,所以我需要找到一種新的方式。這就是爲什麼我試圖將它添加到一個小提琴。這會工作嗎?如果是這樣,我該怎麼做?如果它不會工作,你會建議使用谷歌地圖API?

$.getJSON(URL, function(data, textstatus) { 

      $.each(data, function(i, entry) { 

       var contentString = '<div id="content">'+ 
        '<div id="siteNotice">'+ 
        '</div>'+ 
        '<h1 id="firstHeading" class="firstHeading">' + entry.name_ + " Library" + '</h1>'+ '<hr>' + 
        '<div id="bodyContent">'+ 
        '<p>' + entry.address + " " + entry.zip + '.<br>' + 
        '<p>' + '<a href="'+entry.website.url+'">' + entry.website.url + '</a>' + '</p>'+ 
        '<p>' + entry.hours_of_operation + '</p>'+ 
        '</div>'+ 
        '</div>'; 


       var infowindow = new google.maps.InfoWindow({ 
        content: contentString 
       }); 


       var marker = new google.maps.Marker({ 
        position: new google.maps.LatLng(entry.location.latitude, 
                entry.location.longitude), 
        map: map, 
        title: entry["dba_name"] + "\n" + entry["address"] 
       }); 

       google.maps.event.addListener(marker, 'click', function() { 
       infowindow.open(map,marker); 
       }); 

      }); 
    }); 
+0

地理編碼器只能在達到查詢限制之前工作10-20個點。對於212個地址,它將會非常慢。 – geocodezip 2015-04-01 23:16:24

回答

1

既然你有2個回調函數,要做到這一點,正確的方法是對第一個回調先完成的工作,在這種情況下,下載JSON和分析它們,我也將存儲所有entryentries剛這樣我們可以在添加標記時使用這些數據,這些標記在第一次回調結束時調用。

關於API訪問限制,可悲的是我認爲你必須使用付費谷歌地圖地理編碼API或其他服務,如openStreetmaps。

我也有一個jsfiddle設置,希望這個幫助。