如何动态添加谷歌地图
How to add google map dynamically
我正在尝试使用Google MAP API v3和以下代码。
<html>
<head>
<title></title>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=drawing"></script>
<script type="text/javascript">
jQuery( function( $ )
{
var i = 1;
initMap( $( '.map' ) );
function initMap( $map )
{
google.maps.event.addDomListener( window, 'load', function()
{
var myOptions = {
center: new google.maps.LatLng( -16.920334, 145.770859 ),
zoom: 12,
};
var drawingManager = new google.maps.drawing.DrawingManager();
var map = new google.maps.Map( $map[0], myOptions );
drawingManager.setMap( map );
} );
}
$( 'body' ).on( 'click', '.add-map', function()
{
i++;
$( '.maps' ).append( '<div class="map-' + i + '" style="width: 800px; height: 500px;"></div>' );
initMap( $( '.map-' + i ) );
} );
} );
</script>
</head>
<body>
<input type="button" class="add-map" value="Add Map">
<div class="maps">
<div class="map" style="width: 800px; height: 500px;"></div>
</div>
</body>
</html>
我想做的是,当用户单击Add Map
按钮时,将动态创建一个地图。默认贴图已加载,但下一个贴图未加载。我该如何解决这个问题,谢谢!
这是我的小提琴演示
这是你的代码的工作,你的代码有什么问题,你在窗口加载时打开了一个映射运行google.maps.event.addDomListener( window, 'load', function()
的initMap( $( '.map' ) );
和稍后您在单击时调用相同的函数,这没有任何意义,因为该行寄存器窗口加载事件以在其块内运行函数
在现有地图中添加新地图也不起作用,希望这能帮助
这不是完整的代码,只是一个如何工作的想法
相关文章:
- 谷歌地图可以't添加正确的标记ID
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 在SVG地图上添加水的渐变,就像在谷歌地图(PHP/JS)中一样
- 如何在angular.js控制器中添加谷歌地图
- 如何在现有标记下方添加谷歌地图标记
- 从嵌套数组添加谷歌地图标记
- 如何正确添加谷歌地图 api 密钥
- 如何使用PHP,jquery在页面中添加谷歌地图
- 在带有地理位置的jquery移动网站中添加谷歌地图
- 当使用dburles:Google Maps Meteor包时,我如何添加谷歌地图可视化库
- 如何动态添加谷歌地图
- 在Openlayer中添加谷歌地图层.要求是什么
- 在我的流星应用程序上添加谷歌地图
- 使用jQuery动态添加谷歌地图V3标记
- 在Svg中添加谷歌地图
- 为什么在调试模式外添加谷歌地图会导致d3.js刷重绘崩溃?
- 如何从GWT代码中添加谷歌地图对象
- 如何在jQuery应用程序的两个选项卡中添加谷歌地图
- 您如何使用谷歌地图 API 与摩卡测试,因为没有 html 来添加谷歌地图 API 所需的脚本标签
- 在localStorage中添加谷歌地图标记