1

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

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

再深入一点,我在这里找到了一个示例disablingDefaults。但是,我无法使用我的 google.map.js 文件和我的 API 密钥使地图工作。所以我只是使用了谷歌示例页面中的脚本。

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

请帮忙!

目标:

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

使用我的 google 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>
4

2 回答 2

1

您如何定义 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
 });
}
于 2012-04-26T19:47:41.807 回答
1

现在您已迁移到 v3 API,您希望将标记创建代码从以下位置更改:

map.addOverlay(new GMarker(myGeographicCoordinates));

至:

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

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

var marker = new google.maps.Marker({
    map:        map,
    icon:       "images/my-nice-marker.png",
    position:   myGeographicCoordinates,
    title:      "My First Test Marker",
    visible:    true
}); 
于 2012-04-26T22:25:30.927 回答