2016-08-15 75 views
0

我是新來的谷歌地圖API。我創建了一個函數,允許我根據他們的placeID在Google地圖中創建針腳。我有一長串的引腳,我必須顯示,但我發現地圖只顯示前10或11.如何迭代谷歌地圖標記以避免10個標記限制?

它似乎有可能設置延遲功能繞過只顯示前10根據其他問題在計算器上,但我不明白如何和我的努力只是出現了錯誤。有沒有辦法對我的函數應用超時以避免運行在10個標記限制之上?

function createPin(pinID) { 
    service.getDetails({placeId: pinID }, function(place, status) { 
      if (status === google.maps.places.PlacesServiceStatus.OK) { 
      var marker = new google.maps.Marker({ 
       map: map, 
       icon: pinIcon, 
       position: place.geometry.location 
      }); 
      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.setContent('<div class="infoWindow">' + place.name +'</div>'); 
       infowindow.open(map, this); 
      }); 
      } 
    }); 
} 

/* Pins */ 

// Accenture 
createPin('ChIJR6Ib2OwOZ0gRuWM8ipE_2Pk'); 
// Air BNB 
createPin('ChIJwZfFge4OZ0gRz6mxPYx32Lc'); 
// ARUP 
createPin('ChIJZedOre4OZ0gRwMvu-iJudQQ'); 
// Bank of Ireland 
createPin('ChIJFyHFVZMOZ0gRO5Ld01Zz1XM'); 
/* long list of pins continues [...] */ 
+0

極限的起源是什麼?它是API嗎?如果是這樣,你可以鏈接到相關的文檔? – Nit

+0

@Nit我認爲這個限制是由於時間,而不是一個數字。我遇到了這個問題,其中說通常有大約9到11的限制,但沒有說明他們是否從文檔中獲得了這些信息。 http://stackoverflow.com/questions/10762839/javascript-google-maps-displays-only-10-markers-out-of-100-is-there-a-limit –

+0

相關問題:[Google Maps API v3中的[OVER_QUERY_LIMIT] :如何在Javascript中暫停/延遲以減慢速度?](http://stackoverflow.com/questions/11792916/over-query-limit-in-google-maps-api-v3-how-do-i-在JavaScript中的暫停延遲) – geocodezip

回答

0

這個限制我不認爲是在Marker API上,而是在「Place Details」API上。

所以你可以做的是緩存在一個文件或數據庫中的信息到你有的所有地方,然後你可以隨意創建任意數量的標記。

+0

我是一個JavaScript的初學者,所以請原諒我的天真,但它好像我可以將標記信息存儲在JSON文件中,然後從我正在閱讀的內容中調用它。你知道我將如何獲得信息放入JSON文件嗎?目前,我只有自己的地點ID,然後提供其餘的信息,如標題和緯度經度 –

+1

有很多方法可以做到這一點。也許你會運行一次(或一個月一次)的PHP,Python或任何語言腳本,它將迭代你擁有的所有地點ID並用他們的信息創建一個文件。之後,在您的JavaScript中,您將不得不通過AJAX加載該json文件並放置標記。 – Ibrahim