2012-06-18 3 views
1

Я использую google map API в моем проекте. Мой код:Google map load статическое изображение

var map; 
var op = { 
    zoom: 8, 
    center: new google.maps.LatLng(-34.397, 150.644), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
map = new google.maps.Map(document.getElementById("container"), op); 

Моя проблема заключается в том, что google загружает статическое изображение вместо интерактивной карты. Я также пробовал

useStaticMap: false в вариантах, но после этого он ничего не нагружает (нет карты, нет изображения).

Скажите, пожалуйста, что происходит здесь?

+0

Если вы предоставите ссылку на ваш полный код или поместить его на jsFiddle тогда мы можем отладить. В противном случае мы просто догадываемся. –

+0

На самом деле мой javascript-код слишком длинный, и это его часть, я предоставляю возможность моему пользователю добавлять карту.Поэтому я просто беру данные от пользователя (название города и использую геокодирование, я получу latlag), но в настоящее время я являюсь жестким кодом этого латлана из примера. Поэтому, когда пользователь нажимает кнопку добавления карты, эта функция вызывается и добавляется карта. Но статический и я хочу интерактивный –

+0

Поэтому он не должен давать вам статичный только код, который вы нам показали. Поэтому это что-то происходит на остальной части страницы. Возможно, вы можете извлечь часть кода, демонстрирующего проблему, и опубликовать ее. В противном случае вы просите нас отлаживать что-то, что мы не можем видеть, так как часть, которую вы опубликовали, выглядит правильно. И я этого не сделаю. –

ответ

2

Когда вы говорите, что статическая карта означает, что вы не можете масштабировать, панорамировать и т. Д. Прошло некоторое время с тех пор, как я работал с Google Maps, но, как я помню, вы можете предоставить настройки, которые позволят масштабировать и панорамировать. Попробуйте включить эти функции, а не использовать статическую карту. Или наоборот, возможно, вы отключили их.

Я думаю, это может быть файл javasscript, который вы включаете. Кроме того, есть два API, и кажется, что у вас могут быть два разных ключа API. Возможно, у вас есть статический. Таким образом, есть три разных варианта. Скорее всего, одна из них - проблема, потому что код очень маленький и хорошо выглядит для меня.

API v3

https://developers.google.com/maps/documentation/javascript/tutorial

статических карт

https://developers.google.com/maps/documentation/staticmaps/

Я хотел бы попробовать добавить контроль. Или, может быть, дайте нам немного больше вашего кода.

Добавление элементов управления на карту

Вы можете адаптировать свой интерфейс, удаления, добавления или изменения поведения пользовательского интерфейса или средства управления и обеспечения того, чтобы будущие обновления не повлияют на это поведение. Если вы хотите только добавить или изменить существующее поведение, вам необходимо убедиться, что элемент управления явно добавлен в ваше приложение.

Некоторые элементы управления отображаются на карте по умолчанию, а другие не отображаются, если вы специально не запрашиваете их. Добавление или удаление элементов управления с карты указан в полях следующие опции Карта объекта, который вы установили на истинный, чтобы сделать их видимыми или установить ложь, чтобы скрыть их:

{ 
    panControl: boolean, 
    zoomControl: boolean, 
    mapTypeControl: boolean, 
    scaleControl: boolean, 
    streetViewControl: boolean, 
    overviewMapControl: boolean 
} 

В следующем примере показано, как можно скрыть навигации (Zoom and Pan) и отображает управление масштабом. Обратите внимание, что мы явно не отключили пользовательский интерфейс по умолчанию, поэтому эти изменения являются дополнительными для поведения пользовательского интерфейса по умолчанию.

function initialize() { 
    var myOptions = { 
    zoom: 4, 
    center: new google.maps.LatLng(-33, 151), 
    panControl: false, 
    zoomControl: false, 
    scaleControl: true, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    var map = new google.maps.Map(document.getElementById("map_canvas"), 
     myOptions); 
} 

Вот ссылка на код.

https://developers.google.com/maps/documentation/javascript/controls

+1

Подождите? Вы проголосовали за меня? Могу я спросить, почему? – wavedrop

+0

Если я не ошибаюсь, тот, кто проголосовал за вас, хочет сказать вам, что это не место для написания истории или новых вещей. Не возражайте, просто ответьте на свой вопрос :) – gaurav

+1

Он предоставил 7 строк кода, которые хорошо сформированы, так что, пока я вижу, что делаю снимок в темноте, на самом деле не так много информации, чтобы не упоминать, что Я пытаюсь помочь. Если он хочет получить ответ на серебряном блюде, я не думаю, что мне следует проголосовать за это. Я написал роман? В любом случае, как насчет того, чтобы не быть таким чертовски грубым, особенно когда вы просите о помощи. Где любовь, где манеры. – wavedrop

2

150,644, -34,397, эта координата не существует

+0

Так просто интересно. Это проблема? – wavedrop

+1

Оригинальное сообщение имеет -34.397, 150.644, что является правильным. @wavedrop, широта должна быть первой для объекта LatLng. Широта идет от -90 до 90, поэтому, если бы Дамакс был отправлен, это Долгота/Широта. –

Смежные вопросы