2012-09-27 109 views
0

我想使用地方庫顯示兩個座標之間使用LatLongbounds類的標記。我能夠看到一些標記,如果我註釋掉在地名搜索請求中有星巴克的名稱屬性。可以請某人引導我以下內容:谷歌地圖javascript api v3地方庫deosn't返回任何結果的界限

1)目前我看到的標記位於兩個座標中間,並且不是沿着我假設的邊界均勻分佈創建一個你必須看到它們的矩形。我認爲這些標記正在爲中心計算。 2)當我提供屬性'name'和值「starbucks」時,我在地圖上看不到任何標記。

我想我綁定的對象是很好的,因爲當我調試,我能看到的西北和西南的座標。裏面cordinates是 34.0522342,-118.2436849 - 洛杉磯,CA 33.7489954,-84.3879824 -Atlanta,GA

有人可以指導我哪裏出錯。感謝您的幫助。

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

回答

2

你的界限是很窄的矩形洛杉磯和亞特蘭大(不是我想你想要的)之間延伸:

http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks.html

的地方,其定位整個國家是有問題的請求,您只有20個結果,看起來像你可能是正確的,他們是在邊界爲中心,並且似乎沒有任何「真正的」星巴克足夠接近到可以找到:

http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks2.htmlhttp://www.geocodezip.com/v3_GoogleEx_place-search_starbucks2.html

如果您在西雅圖尋找,WA但是,你得到一些:

http://www.geocodezip.com/v3_GoogleEx_place-search_starbucks3.html

+0

謝謝你的精心explanation.I訪問你的網站,你是真棒! –