Подтвердить что ты не робот

Максимальные латы и длинные границы для мира - API Карт Google LatLngBounds()

По умолчанию ландшафт Google Maps имеет неограниченное панорамирование плитки карты. Вы можете использовать LatLngBounds(), чтобы ограничить это, но каковы максимальные и минимальные координаты, которые я должен использовать, чтобы установить область просмотра как только землю, а не за пределы области карты?

Координаты для Северной Америки:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(28.70, -127.50), 
    new google.maps.LatLng(48.85, -55.90)
);

Я пробовал (+90, -180)(-90,180) не повезло.

4b9b3361

Ответ 1

Ссылки, предоставленные @Marcelo и @Doc, хороши для понимания вывода Lat Lng:

Но если вы просто хотите получить ответ за максимальные ограничения для Карт Google:

Latitude: -85 to +85 (на самом деле -85.05115 по какой-то причине)

Longitude: -180 to +180

Попробуйте сами на Картах Google:

(Возможно, вам нужно уменьшить масштаб. Посмотрите, как штырь находится на "краю" мира - это пределы)

Итак, в вашем коде Попробуйте:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(85, -180),           // top left corner of map
    new google.maps.LatLng(-85, 180)            // bottom right corner
);

Пожалуйста, отредактируйте эту вики (или обновите свой вопрос) после получения ответа. Благодаря

Ответ 2

См. этот пост в старых группах Google, который описывает математику прогноза.

Цитата:

карта не начинается с 85 градусов, а скорее степень, делает квадрат карты. Это можно просто выкачать как: atan (sinh (PI)) * 180/PI = 85.05112878....

Обратите внимание, что вычисление плитки в этом столбце для старого API V2, но проекция должна быть одинаковой.

Ответ 3

Вы можете сделать следующее, чтобы получить максимальную Латентность и Длинные границы мира с помощью Google Maps:

1: Установите уровень масштабирования 1 на Картах Google. При настройке содержимого карты Google:

mapOptions = {
                zoom: 1,
 .....
}

2. Выполните следующие действия, чтобы получить привязку NorthEast и SouthWest к этой карте:

map = new google.maps.Map(document.getElementById('map-canvas'), MapOptions);

     // NorthEast Latitude : 89.45016124669523
     var latNEValue =  map.getBounds().getNorthEast().lat();
    // NorthEast Longitude : 180
     var longNEValue = map.getBounds().getNorthEast().lng();
     // SouthWest Latitude : -87.71179927260242
     var latSWValue =  map.getBounds().getSouthWest().lat();
     // Southwest Latitude :  -180
     var longSWValue = map.getBounds().getSouthWest().lng();

3. Это даст вам следующие границы NorthEast и SouthWest:

NorthEast Широта: 89.45016124669523

NorthEast Longitude: 180

SouthWest Широта: -87.71179927260242

Юго-западная долгота: -180

Аналогично, на уровне масштабирования 0, он дает следующие пункты:

NorthEast Широта: 89.99346179538875

NorthEast Longitude: 180

SouthWest Широта: -89.98155760646617

Юго-западная долгота: -180

Выше трюк помог мне решить мою деловую проблему, которая потребовала максимум лат/долго.

Ответ 4

для более подробной информации о значениях GPS вы можете прочитать эту статью.

Статья объясняет, что:

  • Широта - это расстояние от экватора, измеренное вдоль меридиана Гринвича. Это расстояние измеряется в градусах и колеблется между 0º и 90º северным и южным.
  • Долгота - это расстояние от меридиана Гринвича, измеренного вдоль экватора. Это расстояние измеряется в градусах и составляет от 0º до 180º на восток и запад.