为什么我的setCenter不起作用?

时间:2011-04-23 21:37:56

标签: google-maps google-maps-api-3

我正试图让我的地图在用户时重新定位到新的中心 从下拉菜单中选择主地图中的区域。见 在这里映射:http://bilware.net/BullyMap/BullyMap.html

我可以使用map.setZoom来缩放变焦(虽然它是 在下面评论)。但是map.setCenter不起作用。我以为是的 因为我没有正确调用LatLng参数,但发现了 即使我插入固定参数,它也无法工作,我想我已经完成了 下方。

我对此很新;任何帮助表示赞赏。

function changeMap() {
var selected_bully_table = $('#map_menu').val();
var searchString = document.getElementById('searchString').value.replace("'", "\\'");
if(searchString == "") {
  layer.setQuery("SELECT 'geometry' FROM " + selected_bully_table);
  return;
  }
layer.setQuery("SELECT 'geometry' FROM " + selected_bully_table + " WHERE 'SDNAME' = '" + searchString + "'");

// Now zoom and center the map
{
map.setZoom(9);
myLatLng=(-91.9240850749,47.9119132072);
map.setCenter(myLatLng);
 }   
}

3 个答案:

答案 0 :(得分:0)

替换

myLatLng=(-91.9240850749,47.9119132072);

myLatLng= new google.maps.LatLng(-91.9240850749,47.9119132072);

答案 1 :(得分:0)

你的纬度值应介于-90度到+90度之间,你也应该将google.maps.LatLng类的新实例传递给setCenter函数。

答案 2 :(得分:0)

其他两个答案的组合将为您提供真正的答案。

做的原因

myLatLng= new google.maps.LatLng(-91.9240850749,47.9119132072);

给你一个灰色的屏幕是因为位置超出了地图的界限。如果缩小并向上滚动地图,您将看到:)

您需要做的是写

map.setZoom(9);
myLatLng = new google.maps.LatLng(LATITUDE,LONGITUDE);
map.setCenter(myLatLng);

并传递LATITUDE&的值。 LONGITUDE位于地图范围内,如(51,0)。