允许用户在谷歌地图自定义地图中将标记位置移回(z-index?) [英] allow user to move marker position back (z-index?) in google maps custom map
本文介绍了允许用户在谷歌地图自定义地图中将标记位置移回(z-index?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望用户能够在 InfoWindow 内单击时移动自定义谷歌地图标记的顺序.这是为了克服重叠标记的问题.我考虑过其他解决方案(移动纬度/经度、标记簇、蜘蛛标记").
我的代码有 2 个问题:1) jquery 侦听器不起作用 2) 但更重要的是如何实现 z-index 的更改(或其他技术?)和重新显示.
<头><风格>#map-canvas, #side-bar {高度:500px;宽度:600px;}</风格><script src="http://maps.googleapis.com/maps/api/js" type="text/javascript"></script><script src="../jquery/jquery.js" type="text/javascript"></script><script type="text/javascript">//jquery 的作用域$( 文档 ).ready(function() {严格使用";//保存地图的变量无功地图;//保存当前活动信息窗口的变量var activeInfoWindow ;//-------------------------------------------------------------------------------////初始化函数//-------------------------------------------------------------------------------//函数初始化(){//-------------------------------------------------------------------------------////监听器点击事件//-------------------------------------------------------------------------------//$( "a" ).on( "点击", function() {alert("到了!");//做一些事情来改变这个标记的 z-index//...//my_index = my_index-1;//...返回假;});//地图选项 - 这里有很多可用的选项var mapOptions = {缩放:5,可拖动:真实,中心:新的 google.maps.LatLng(44.960, -93.100),mapTypeId : google.maps.MapTypeId.ROADMAP};//使用上面定义的地图选项在名为 map-canvas 的 div 中创建地图map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);//定义两个代表地理点的 Google Map LatLng 对象var stPaul = 新的 google.maps.LatLng(44.95283,-93.08925);var minneapolis = new google.maps.LatLng(44.97984,-93.26620);//放置两个标记fnPlaceMarkers(stPaul,"St Paul");fnPlaceMarkers(明尼阿波利斯,明尼阿波利斯");}//-------------------------------------------------------------------------------////在地图上创建标记//-------------------------------------------------------------------------------//函数 fnPlaceMarkers(myLocation,myCityName){var 标记 = 新的 google.maps.Marker({位置:我的位置});//在指定地图上渲染标记标记.setMap(地图);//创建一个信息窗口var infoWnd = new google.maps.InfoWindow();//将内容添加到您的信息窗口infoWnd.setContent('<div class="scrollFix">' + 'Welcome to ' + myCityName + '<br/><a href="#">点击</a>移动这个标记到后面
');//在 InfoWindow 上添加监听器 - 在打开新的之前关闭最后一个 infoWindowgoogle.maps.event.addListener(marker, 'click', function() {//如果存在则关闭活动窗口 - [有人可能认为这是默认行为不是吗?]if(activeInfoWindow != null) activeInfoWindow.close();//打开信息窗口infoWnd.open(地图,标记);//将新打开的 InfoWindow 存储在全局变量中activeInfoWindow = infoWnd;});}//-------------------------------------------------------------------------------////初始加载//-------------------------------------------------------------------------------//google.maps.event.addDomListener(window, 'load', initialize);});//结束查询<div id="map-canvas"></div>