Google maps Polygon вопрос - PullRequest
       19

Google maps Polygon вопрос

1 голос
/ 22 июня 2009

Ниже приведен пример того, как добавить многоугольник в API карт Google.
Какое назначение имеют значения latOffset и lonOffset?
Мы создаем массив точек для создания многоугольника, но что именно делает смещение?

var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.addControl(new GSmallMapControl());
GEvent.addListener(map, 'click', function(overlay, latlng) {
  var lat = latlng.lat();
  var lon = latlng.lng();
  var latOffset = 0.01;
  var lonOffset = 0.01;
  var polygon = new GPolygon([
    new GLatLng(lat, lon - lonOffset),
    new GLatLng(lat + latOffset, lon),
    new GLatLng(lat, lon + lonOffset),
    new GLatLng(lat - latOffset, lon),
    new GLatLng(lat, lon - lonOffset)
  ], "#f33f00", 5, 1, "#ff0000", 0.2);
  map.addOverlay(polygon);
});

Ответы [ 2 ]

5 голосов
/ 22 июня 2009

Это просто построение алмаза вокруг точки (широта, долгота).

     *

  *  O  *

     *

Lat - это широта, а lon - это долгота. Смещения показывают, насколько далеко от центральной точки находятся углы алмаза.

Интересно, насколько хорошо это работает на северном полюсе.

0 голосов
/ 04 июня 2011

измените оба на 0,02, и вы почувствуете разницу. полигон будет больше по размеру

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...