Максимальные латы и длинные границы для мира - 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)
не повезло.
Ответы
Ответ 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º на восток и запад.