我是javascript编程的新手,正在尝试使用Google Maps V3 API。
根据Google的示例,我可以添加一个标记,并在每次更新窗口时将其移至中心。但是,我希望在单击标记时添加一个infowindow,这似乎不起作用。我尝试添加一些其他功能来测试标记点击事件是否被触发。这确实有效,所以我会相信我创造信息的方式有问题。
var map;
function initialize() {
var bboxstr;
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var myMarker = new google.maps.Marker({
position: map.getCenter(),
map: map
});
google.maps.event.addListener(map, "click", function(event) {
addMarker(event.latLng);
});
google.maps.event.addListener(map, "dragend", function(event) {
var center = map.getCenter();
myMarker.setPosition(center);
bboxstr = map.getBounds();
alert("new center is " + center + " and new bbox is " + bboxstr);
});
var infowindow = new google.maps.InfoWindow({
content: bboxstr
});
google.maps.event.addListener(myMarker, 'click', function() {
infowindow.open(map,myMarker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
我一直在我的桌面上使用HTML文件(我用文本编辑器创建)来测试它。我试图将示例移植到jsfiddle,但似乎无法使其工作。如果有人能帮助我,那就太好了.. :(
http://jsfiddle.net/himenohogosha/CL6cH/
更新:我能够在下面的帮助下显示信息窗口。我剩下的问题是,为什么infowindow的内容不会更新?
答案 0 :(得分:0)
您的代码运行正常。只改变你风格的height:300px
。您无法看到地图,因为它没有高度定义。
的 DEMO 强>
答案 1 :(得分:0)
您有两次Google API:来自jsfiddle和via tag的外部资源。
未显示地图,因为map-canvas
的头部,正面和宽度没有样式规则。
未定义函数add-marker
。注释掉。
Infowindow未显示,因为bboxstr
未定义。即使你稍后在事件监听器中设置它。
请参阅updated fiddle。