jQuery mobile add new markers to an existing map
我在这里使用 jQuery 移动谷歌地图示例,重点关注第一个"基本地图示例"。
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html
我希望能够为
这是我编辑后的 ??jQuery 移动 UI 网站上的基本地图示例。如果将它保存在 jQuery mobile
这只是我真正想做的一个模拟示例。在我更长、更复杂的程序中,我正在查询数据库以查找与查询匹配的地址,然后我想将这些标记动态地放在地图上。我需要对此源代码进行哪些更改才能绘制芝加哥点(或其他即时标记)?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | <!doctype html> <html lang="en"> <head> jQuery mobile with Google maps - Google maps jQuery plugin <link type="text/css" rel="stylesheet" href="css/jquery-mobile-1.0/jquery.mobile.css" /> <link type="text/css" rel="stylesheet" href="css/mobile.css" /> <script type="text/javascript" src="js/modernizr-2.0.6/modernizr.min.js"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places"> <script type="text/javascript" src="js/jquery-1.7.1/jquery.min.js"> <script type="text/javascript" src="js/jquery-mobile-1.0/jquery.mobile.min.js"> <script type="text/javascript" src="js/jquery.ui-1.8.15/jquery.ui.autocomplete.min.js"> <script type="text/javascript" src="js/demo.js"> <script type="text/javascript" src="../ui/jquery.ui.map.js"> <script type="text/javascript" src="../ui/jquery.ui.map.services.js"> <script type="text/javascript" src="../ui/jquery.ui.map.extensions.js"> <script type="text/javascript"> var mobileDemo = { 'center': '41,-87', 'zoom': 7 }; var chicago = new google.maps.LatLng(41.850033,-87.6500523); var map function addMarkers(){ map = new google.maps.Map(document.getElementById('map_canvas')); var marker = new google.maps.Marker({ map: map, position: chicago }); } $('#basic_map').live('pageinit', function() { demo.add('basic_map', function() { $('#map_canvas').gmap({'center': mobileDemo.center, 'zoom': mobileDemo.zoom, 'disableDefaultUI':true, 'callback': function() { var self = this; self.addMarker({'position': this.get('map').getCenter() }).click(function() { self.openInfoWindow({ 'content': 'Hello World!' }, this); }); }}); }).load('basic_map'); }); $('#basic_map').live('pageshow', function() { demo.add('basic_map', function() { $('#map_canvas').gmap('refresh'); }).load('basic_map'); }); </head> <body> jQuery mobile with Google maps v3 examples Back Add Some More Markers </body> </html> |
请检查以下示例。
在第一个地图加载中没有任何标记。当您单击按钮时,会动态添加标记,无需刷新页面或地图。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <!doctype html> <html lang="en"> <head> jQuery mobile with Google maps - Google maps jQuery plugin <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" /> <script src="http://code.jquery.com/jquery-1.8.2.min.js"> <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"> <script type="text/javascript" src="http://jquery-ui-map.googlecode.com/svn/trunk/ui/min/jquery.ui.map.min.js"> <script type="text/javascript"> var chicago = new google.maps.LatLng(41.850033,-87.6500523), mobileDemo = { 'center': '41,-87', 'zoom': 7 }; function initialize() { $('#map_canvas').gmap({ 'center': mobileDemo.center, 'zoom': mobileDemo.zoom, 'disableDefaultUI':false }); } $(document).on("pageinit","#basic-map", function() { initialize(); }); $(document).on('click', '.add-markers', function(e) { e.preventDefault(); $('#map_canvas').gmap('addMarker', { 'position': chicago } ); }); </head> <body> jQuery mobile with Google maps v3 examples Back Add Some More Markers </body> </html> |
初始地图:
按钮点击后的地图: