我正在尝试使用 places 库来使用 LatLngBounds 类在两个坐标之间显示标记。如果我在地点搜索请求中注释掉星巴克的名称属性,我可以看到一些标记。有人可以指导我以下内容:
1)目前,我看到的标记位于两个坐标的中间,并且没有沿着边界均匀分布,我假设这会创建一个您必须在其中看到它们的矩形。我认为标记只是为中心计算。
2) 当我提供属性“名称”和值“星巴克”时,我在地图上看不到任何标记。
我认为我的bounds
对象很好,因为当我调试时,我能够看到里面的西北和西南坐标。坐标是
- 34.0522342,-118.2436849 -加利福尼亚州洛杉矶
- 33.7489954,-84.3879824 -佐治亚州亚特兰大
有人可以指导我哪里出错了。
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
});
}