谷歌地图上的设置标记
问题描述:
我想在我的Google地图上设置一个标记。我想我喜欢谷歌希望我这样做,但是这个标记不会显示在地图上。我究竟做错了什么?你可以在这里看到了实现的地图:http://nidarosnaprapati.no/wordpress/?page_id=66谷歌地图上的设置标记
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(63.4242234, 10.4439311);
var myOptions = {
zoom: 13,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
map.addOverlay(new GMarker(63.4242234, 10.4439311));
}
</script>
答
的问题是你混合谷歌地图V2代码与谷歌地图V3。 addOverlay功能和GMarker来自gogle地图v2。将它们替换为谷歌地图v3代码:
var marker = new google.maps.Marker({
position: latlng,
map: map,
title:"Hello World!"
});
答
每个版本的实现都不同。 一个在全局命名空间使用G〜,另一个使用google.maps。〜命名空间。
我完全不喜欢新版本,因为有些对象可以用JSON构造,而有些则不能。例如。 LatLng和标记。
如果您不想使用标准的Google标记,添加标记的不同标记显示也会有所不同。
var marker = new google.maps.Marker({
position: latlng,
map: map,
icon: new google.maps.MarkerImage(
"maps/images/point.png", // reference from your base
new google.maps.Size(36, 36), // size of image to capture
new google.maps.Point(0, 0), // start reference point on image (upper left)
new google.maps.Point(10, 10), // point on image to center on latlng (scaled)
new google.maps.Size(20, 20) // actual size on map
)
});
破坏标记,只需设置:
marker.setMap(null);
delete marker;
谢谢你让我知道这一点! – 2010-07-19 13:45:04