Как нарисовать прямоугольник на Google Map с помощью Google Map API - PullRequest
0 голосов
/ 30 марта 2012

я новичок в stackoveflow, может ли кто-нибудь помочь мне нарисовать прямоугольник с помощью Google API v3, я просмотрел несколько примеров в Google, я получил следующий код,

function initialize() {

  var coachella = new google.maps.LatLng(33.6803003, -116.173894);
  var rectangle;

  var myOptions = {
    zoom: 11,
    center: coachella,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  };

  var map = new google.maps.Map(document.getElementById("map_canvas"),
      myOptions);

  rectangle = new google.maps.Rectangle();

  google.maps.event.addListener(map, 'zoom_changed', function() {

    // Get the current bounds, which reflect the bounds before the zoom.
    var rectOptions = {
      strokeColor: "#FF0000",
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: "#FF0000",
      fillOpacity: 0.35,
      map: map,
      bounds: map.getBounds()
    };
    rectangle.setOptions(rectOptions);
  });
}

Но, это работает на событии увеличения (изменения масштаба), я хочу просто без события, пожалуйста, помогите мне

1 Ответ

2 голосов
/ 30 марта 2012

map.getBounds () может возвращать не нужные границы при раннем вызове (сразу после создания экземпляра карты).

Вы можете использовать вместо них загруженные плитки

google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
     /*your code*/
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...