как изменить (x, y) на географическое местоположение в google-maps v3 - PullRequest
0 голосов
/ 31 марта 2010

в версии 2:

point = map.fromContainerPixelToLatLng(new GLatLng(x,y));}

в v3 я делаю это:

point = map.MapCanvasProjection.fromContainerPixelToLatLng(new LatLng(x,y));

и ошибка ..

как это сделать?

спасибо

1 Ответ

0 голосов
/ 31 марта 2010

Насколько я знаю, у класса карты нет свойства MapCanvasProjection. Это не в спецификации, если они недавно добавили один.

Есть обходной путь, который вы можете сделать, создав фиктивный OverlayView, у которого будет проекция:

  /**@private 
   * In V3 it is quite hard to gain access to Projection and Panes. 
   * This is a helper class 
   * @param {google.maps.Map} map 
   */ 
  function ProjectionHelperOverlay(map) { 
    google.maps.OverlayView.call(this); 
    this.setMap(map); 
  } 
  ProjectionHelperOverlay.prototype = new google.maps.OverlayView(); 
  ProjectionHelperOverlay.prototype.draw = function () { 
    if (!this.ready) { 
      this.ready = true; 
      google.maps.event.trigger(this, 'ready'); 
    } 
  }; 

Который был взят из этого открытого исходного кода . Вы можете использовать это так:

var proj = new ProjectionHelperOverlay(map);
proj.getProjection().fromContainerPixelToLatLng(new LatLng(x,y));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...