[英]google maps javascript api v3 places library doesn't return any results for the bounds
我正在嘗試使用places庫來使用LatLngBounds類在兩個坐標之間顯示標記。 如果我在地方搜索請求中注釋出starbucks的name屬性,我可以看到一些標記。有人請指導我以下內容:
1)目前我看到的標記位於兩個坐標的中間,並且沿着邊界不均勻分布,我假設創建一個矩形,您必須在其中看到它們。 我認為標記只是為中心計算的。
2)當我提供屬性'name'和值“starbucks”時,我在地圖上看不到任何標記。
我認為我的bounds
對象很好,因為當我調試時,我能夠看到里面的西北和西南坐標。 坐標是
有人可以指導我在哪里出錯。
function useCordinates(){
...
var defaultBounds = new google.maps.LatLngBounds();
var places = [];
places.push(new google.maps.LatLng(latLongSrc[0],latLongSrc[1]));
places.push(new google.maps.LatLng(latLongDest[0],latLongDest[1]));
defaultBounds.extend(places[0]);
defaultBounds.extend(places[1]);
//var center = defaultBounds.getCenter();
//defaultBounds.contains(center);
var request = {
//attribute to be commented
name:"starbucks",
bounds: defaultBounds,
types:['establishment']
};
service = new google.maps.places.PlacesService(map);
service.search(request, callback);
}
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
var place = results[i];
createMarker(results[i]);
}
}
}
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
}
你的界限是一個非常窄的矩形,在洛杉磯和亞特蘭大之間延伸(不是我想你想要的):
http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks.html
針對整個國家的地方請求是有問題的,你只得到20個結果,看起來你可能是正確的,他們以邊界為中心,似乎沒有任何“真正的”星巴克足夠接近那里找到:
http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks2.html
但是,如果你在華盛頓州西雅圖搜索,你會得到一些:
http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks3.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.