我已经坚持了几天了。我在使用 Javascript API v3 向 map 添加多个点时遇到问题。
我读了this thread和 this thread还有this thread在 SO 上,我发现了一些错误并做了一些更改,但除了 map_canvas
中的 HTML 文本之外,我仍然无法显示任何内容。
非常感谢任何帮助。谢谢。
当前的代码迭代:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() { initialize(); });
function initialize() {
var map_options = {
center: new google.maps.LatLng(33.84659,-84.35686),
zoom: 14,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var google_map = new google.maps.Map(document.getElementById("map_canvas"), map_options);
var info_window = new google.maps.InfoWindow({
content: 'loading'
});
var t = [];
var x = [];
var y = [];
var h = [];
t.push('Location Name 1');
x.push(33.84659);
y.push(-84.35686);
h.push('<p><strong>Location Name 1</strong><br/>Address 1</p>');
t.push('Location Name 2');
x.push(33.846253);
y.push(-84.362125);
h.push('<p><strong>Location Name 2</strong><br/>Address 2</p>');
var i = 0;
for ( item in t ) {
var m = new google.maps.Marker({
map: google_map,
animation: google.maps.Animation.DROP,
title: t[i],
position: new google.maps.LatLng(x[i],y[i]),
html: h[i]
});
google.maps.event.addListener(m, 'click', function() {
info_window.setContent(this.html);
info_window.open(map, this);
});
i++;
}
}
</script>
<div id="map_canvas" style="width:400px;height:400px;">Google Map</div>
最佳答案
问题出在这里:
info_window.open(map, this);
应该是:
info_window.open(google_map, this);
因为这里没有名为map
的变量。此处的工作版本:http://jsfiddle.net/nrabinowitz/2DBXY/
如果您还没有这样做,请尝试使用 Firebug 或 Chrome 控制台之类的工具 - 没有这些工具几乎不可能调试 Javascript。
关于javascript - 使用 Javascript v3 API 向 Google Map 添加多个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630915/