使用jQuery动态添加谷歌地图V3标记
Dynamically Add Google Map V3 Markers using jQuery
我正在使用jquery和Google Maps V3 API动态地向Google Maps添加标记。当单击按钮search_button
时,使用AJAX将请求发送到服务器,该请求返回与结果相对应的JSON LatLng数组,该数组将用于放置标记。然而,在我的Javascript控制台,我得到的错误:Invalid value for property <map>: map
。我哪里做错了?下面是我的代码:
HTML Header JS:
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(42.354183,-71.065063);
var options = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), options);
}
</script>
jQuery $(function() {
$("#search_button").click(function(e){
e.preventDefault();
// Place markers on map
for( i = 0; i < json.length; i++) {
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
});
});
});
你应该让你的变量map全局化。这就是全部,实际上我的建议是将所有内容移到像这样的javascript文件中
$(document).ready(initialize);
var map;
function initialize() {
var latlng = new google.maps.LatLng(42.354183,-71.065063);
var options = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map($('#map-canvas')[0], options);
$("#search_button").click(function(e){
e.preventDefault();
// Place markers on map
for( i = 0; i < json.length; i++) {
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
}
});
}
相关文章:
- 谷歌地图v3标记没有显示ie8和9
- 映射API v3标记在单击时消失
- 谷歌地图 API v3 标记掉落和反弹动画
- 谷歌地图Api v3标记.谷歌尚未定义
- 谷歌地图Javascript API V3:标记具有相同的标题
- 谷歌地图 API v3 标记问题
- 谷歌地图 API v3 标记
- 带有标签的谷歌地图 API v3 标记
- 谷歌地图v3:标记和信息窗口未显示
- 谷歌地图 API V3 标记
- 谷歌地图Javascript v3:标记的检查不会工作
- 当我一个接一个地放下每个标记时,如何在谷歌地图V3标记上添加自定义动画
- 谷歌地图API V3标记群集与可过滤的标记
- 谷歌地图API v3标记坐标
- 所有Google Maps v3标记的通用事件处理程序
- 谷歌地图API v3标记点击信息窗口
- 谷歌地图v3标记阴影z索引
- 谷歌地图v3:标记和多段线未渲染.我的代码出了什么问题
- 谷歌地图api v3 +标记聚类器:居中地图
- 谷歌地图v3标记与图标和图像