2013-11-21 3 views
1

Я должен показывать только одно местоположение за раз на карте Google с помощью маркера.Как установить лучший масштаб для маркера на карте google

Я пытался использовать автоматическое масштабирование & автоцентр, используя следующий код:

var bounds = new google.maps.LatLngBounds(); 
bounds.extend(latlng); 

map.fitBounds(bounds); // auto zoom 
map.panToBounds(bounds); // auto center 

также попытался следующий:

var bounds = new google.maps.LatLngBounds(); 
bounds.extend(latlng); 

map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 

Оба эти решения дают максимальное увеличение, так как я Я показываю только одно местоположение на карте. При таком максимальном увеличении я не мог видеть окружающие местоположения на карте.

Есть ли какое-либо решение для установки масштабирования, которое дает лучший вид на карту.

Предоставление лучшего размера зума (например, 8, 9, 10 ....), который подходит для всех местоположений, также значительных.

Спасибо,
Гопал.

+0

Что вы имеете в виду под "лучший размер увеличения (например, 8, 9, 10 ....), которая подходит для всех мест"? Если вы хотите установить масштаб на несколько маркеров, создайте google.maps.LatLngBounds, который содержит их все, и вызовите на нем google.maps.Map.fitBounds. Затем вы можете центрировать карту на конкретном маркере, о котором идет речь. – geocodezip

+0

Код в вашем комментарии, похожий на фрагмент кода в моем самом вопросе. Я должен показать только одно место. map.fitBounds() с максимальным доступным увеличением для указанного местоположения. Так что я не смог просмотреть область, окружающую указанное место. Я хочу показать карту, которая показывает окружающие местоположения вместе с указанным местом. – Awesome

+0

. Самый лучший размер зума (например, 8, 9, 10 ....), который подходит для всех местоположений_, означает, если я использую масштаб, как указано в следующем фрагменте: 'var mapOptions = { центр: latlng, zoom: 10, mapTypeId: google.maps.MapTypeId.ROADMAP }; ' Мне нужен конкретный масштаб, который оптимистичен для большинства типов местоположения, таких как - улица, штат, страна, ... – Awesome

ответ

0

Пожалуйста, обратитесь ссылке: http://jsfiddle.net/ZqhPM/3

 var mapOptions = { 
      center: new google.maps.LatLng(39.8634242, -97.28818149999998), 
      zoom: 8, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

Если вы хотите увеличить уровень масштабирования. измените масштаб в mapOptions.

+0

Спасибо за Ответить. Я знаю, как указать свойство масштабирования. Здесь я прошу увеличить масштаб, который подходит для таких типов местоположения, как - улица, город, штат, ... – Awesome

+0

Для поиска типа местоположения попробуйте использовать администратор области геокодирования google_level_2. Затем в зависимости от типа местоположения установите масштаб. – RGS

0

мне нужен конкретный размер масштабирования, который является оптимистичным для большинства типов расположения, как - Улица, Район, Страна

Если вы знаете улицы, штат или город, то geocoder будет return из Google .maps.LatLngBounds для этого геокодированного результата (а иногда и 2, область просмотра и границы, см. документацию).

State (Massachusetts)

Country (France)

Street (Broadway, Arlington, MA)

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