从像素xy坐标创建谷歌地图标记 [英] Create google maps markers from pixel xy coordinates

查看:149
本文介绍了从像素xy坐标创建谷歌地图标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正尝试使用以下代码在像素坐标开始的Google地图上创建标记。我试图使用fromDivPixelToLatLng()将像素xy坐标转换为Lat Long,但我无法获得任何标记。我需要在地图上设置标记而无需点击事件。任何人都可以给我一些建议吗?

I'm trying to create markers on a google map starting from pixel coordinates, using the code below. Im trying to use fromDivPixelToLatLng() to convert the pixel xy coordinates into Lat Long, but I can't get any markers to come up. I need the markers to set on the map without a click event. Can anyone give me some advice?

<script type="text/javascript">

var map;
function initialize() {

  var mapOptions = {
      center: new google.maps.LatLng(10,0),
      zoom: 2,
      mapTypeId: google.maps.MapTypeId.ROADMAP
      };
  map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);

  var overlay = new google.maps.OverlayView();
  overlay.draw = function() {};
  overlay.setMap(map);

  var pixelLatLng = overlay.getProjection().fromDivPixelToLatLng(new google.maps.Point(200,200));

  var marker = new google.maps.Marker({
      position: pixelLatLng,
      map: map,
      });


};//end initialize

google.maps.event.addDomListener(window, 'load', initialize);
</script>


推荐答案

等待地图初始化):

Wait for the map to be initialized (the idle event):

<script type="text/javascript">
var map;
function initialize() {
  var mapOptions = {
      center: new google.maps.LatLng(10,0),
      zoom: 2,
      mapTypeId: google.maps.MapTypeId.ROADMAP
      };
  map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);

  var overlay = new google.maps.OverlayView();
  overlay.draw = function() {};
  overlay.setMap(map);

  google.maps.event.addListenerOnce(map,'idle', function() {
    var pixelLatLng = overlay.getProjection().fromDivPixelToLatLng(new google.maps.Point(200,200));

    var marker = new google.maps.Marker({
          position: pixelLatLng,
          map: map,
        });
  });
};//end initialize

google.maps.event.addDomListener(window, 'load', initialize);
</script>

这篇关于从像素xy坐标创建谷歌地图标记的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆