Почему мой setCenter не работает? - PullRequest
0 голосов
/ 24 апреля 2011

Я пытаюсь переориентировать мою карту на новый центр, когда пользователь выбирает район на главной карте из выпадающего меню. Увидеть карта здесь: 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 голосов
/ 25 апреля 2011

ваше значение широты должно быть в диапазоне от -90 градусов до +90 градусов, а также вы должны передать новый экземпляр класса google.maps.LatLng в функцию setCenter.

0 голосов
/ 28 апреля 2011

Сочетание двух других ответов даст вам ваш реальный ответ.

причина делает

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).

0 голосов
/ 24 апреля 2011

Заменить

myLatLng=(-91.9240850749,47.9119132072);

на

myLatLng= new google.maps.LatLng(-91.9240850749,47.9119132072);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...