嘿伙计们希望在这里得到一点帮助。
首先,我在这里创建了一个工作地图: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&v=2&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
});