谷歌地图:叠加点未显示



嘿伙计们希望在这里得到一点帮助。

首先,我在这里创建了一个工作地图:http://leongaban.com/_stack/googlemaps/firstmap.html指针显示在现场,但是我需要删除地图 |卫星 |地形按钮。

深入

挖掘,我在这里发现了一个禁用默认值的示例。但是,我无法使用我的google.map.js文件和API密钥使地图工作。所以我只是使用了谷歌示例页面中的脚本。

现在我的第二张地图我删除了地图视图选项,但无法显示叠加层:(http://leongaban.com/_stack/googlemaps/

请帮忙!

目标:

  • 使用我的谷歌地图 API 密钥
  • 移除地图视图选项按钮
  • 将覆盖指针放在位置上。

使用我的谷歌 API 2 密钥为我的第一个地图编写代码:

<head>
    <title>Test Google Maps</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=AIzaSyAXsNu2EwRNqKJn9OmC19WPkEJFM0r6ALk&sensor=true"
        type="text/javascript"></script>
    <script type="text/javascript">
        function initialize() {
            // var myOptions = {
            //     zoom: 16,
            //     center: new google.maps.LatLng(40.750159, -73.976473),
            //     disableDefaultUI: true,
            //     mapTypeId: google.maps.MapTypeId.ROADMAP
            //   }
            // var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            // var point = new GLatLng(40.750159, -73.976473);
            // map.addOverlay(new GMarker(point));
            var map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(40.750159, -73.976473), 13);
            map.setUIToDefault();
            var myGeographicCoordinates = new GLatLng(40.750159, -73.976473)
            map.addOverlay(new GMarker(myGeographicCoordinates));
            // map.addOverlay(new GMarker(40.750159, -73.976473));

        }
    </script>
</head>
<body onload="initialize()" onunload="GUnload()">
    <div id="map_canvas" style="width: 450px; height: 370px"></div>
</body>

更新
工作代码!谢谢堆垛机

!!
<head>
    <title>Test Google Maps</title>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
        function initialize() {
            var myOptions = {
                zoom: 16,
                center: new google.maps.LatLng(40.750159, -73.976473),
                disableDefaultUI: true,
                mapTypeId: google.maps.MapTypeId.ROADMAP
              }
            var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
            var myGeographicCoordinates = new google.maps.LatLng(40.750159, -73.976473);
            var marker = new google.maps.Marker({
                map:        map,
                position:   myGeographicCoordinates,
                title:      "My First Test Marker",
                visible:    true
            }); 
            }
    </script>
</head>
<body onload="initialize()" onunload="GUnload()">
    <div id="map_canvas" style="width: 450px; height: 370px"></div>
</body>

定义 latLng 对象的方式存在问题。

new GLatLng(40.750159, -73.976473);

它与Google Maps Api v2一起使用。现在你使用的是最新的 api(v3),在新 API 中,你应该这样做:

new google.maps.LatLng(40.750159, -73.976473);
编辑

:编辑后,我看到标记存在一些问题。在 API v3 中,这是创建新标记的方式:

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

以下代码设置地图,禁用默认UI,设置标记并将其放在地图上;

function initialize() {
 var myOptions = {
  zoom: 16,
  center: new google.maps.LatLng(40.750159, -73.976473),
  disableDefaultUI: true,
  mapTypeId: google.maps.MapTypeId.ROADMAP
 }
 var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
 var myGeographicCoordinates = new GLatLng(40.750159, -73.976473);
 var marker = new google.maps.Marker({
  map:        map,
  position:   myGeographicCoordinates
 });
}

现在,你已迁移到 v3 API,你想要将标记创建代码从:

map.addOverlay(new GMarker(myGeographicCoordinates));

自:

var marker = new google.maps.Marker({
    map:        map,
    position:   myGeographicCoordinates,
    title:      "My First Test Marker",
    visible:    true
});

如果需要,还可以在传递给标记构造函数的 MarkerOption s 中定义自定义标记icon,并将值设置为等于图像文件的路径和名称:

var marker = new google.maps.Marker({
    map:        map,
    icon:       "images/my-nice-marker.png",
    position:   myGeographicCoordinates,
    title:      "My First Test Marker",
    visible:    true
}); 

相关内容

  • 没有找到相关文章

最新更新