为什么getProjection()在V3中不起作用

时间:2013-06-19 12:50:53

标签: google-maps google-maps-api-3

根据API ref,map对象应该有一个getProjection 方法:
http://code.google.com/apis/maps/documentation/v3/reference.html#Map

在此示例中加载地图时 应警告x,y点,但相反 将值抛出为undefined。这是onload中调用的以下示例代码。

function initialize() {
 var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
 map = new google.maps.Map(document.getElementById('map-canvas'),
  mapOptions);
alert("projection:"+map.getProjection());
}

1 个答案:

答案 0 :(得分:39)

在地图完成初始化之前,它不可用。在访问之前,您必须等待“projection_changed”事件。

function initialize() {
 var mapOptions = {
   zoom: 8,
   center: new google.maps.LatLng(-34.397, 150.644),
   mapTypeId: google.maps.MapTypeId.ROADMAP
   };
 map = new google.maps.Map(document.getElementById('map-canvas'),
  mapOptions);
 google.maps.event.addListenerOnce(map,"projection_changed", function() {
   alert("projection:"+map.getProjection());
 });
}