如果和其他谷歌地图点击事件
If and else for Google map click event
我正在为来自数据库的每个位置设置谷歌标记,现在当用户单击任何图标时,我会通过替换为活动标记图像来将该图标设置为活动图标。
但当页面第一次加载时,我想在特定位置设置活动图标,这是我的代码。
google.maps.event.addListener(marker, 'click', function()
{
for( var m in $.bgmp.markers )
$.bgmp.markers[ m ].setIcon('http://guipme.npmdemo.com/wp-content/uploads/2015/12/marker_img.png');
})
例如,我有4个地点——印度、巴基斯坦、斯里兰卡和孟加拉国。对于每个图标,我都会设置一个默认的img,但当用户点击say india时,我会将活动图标添加到india。类似的,当页面加载时,我想将活动图标添加到孟加拉国作为默认图标,我该怎么做?
我需要使用if else来点击和取消点击吗?
根据谷歌开发人员的讨论,我得到了答案,我们不能点击和取消点击,或者如果我的情况下的条件是google.maps.event.addDomListener(window,"load",function(){}),则不可能添加,如果点击将不起作用。我从谷歌讨论中得到了非常有趣的东西,我会在页面加载上添加我的非活动图标,这样就有了窗口加载功能。
google.maps.event.addDomListener(window, "load",function(){
var lastPart = window.location.hash.substr(1);
alert("hi"+lastPart+marker['title']);
if (marker['title']==lastPart) {
marker.setIcon('../uploads/2015/12/pme_inter_notaires_gcl_location_large.png');
}
})
这通过为我提供添加默认行为并在单击时更改此默认行为来解决我的问题。
一个可能的解决方案可以使用全局变量来存储实际的活动标记
var myActiveMarker;
在初始化阶段,您应该显示您想要激活的标记,并将该标记设置为存储的myActiveMarker var
function init() {
myInitMarker = new google.maps.Marker({
.....
});
myActiveMarker = myInitMarker;
}
然后在你的听众只需打开/关闭相关的标记
google.maps.event.addListener(marker, 'click', function() {
myActiveMarker.setIcon('your_icon_not_active');
marker.setInco('your_icon_active');
myActiveMarker = marker
})
相关文章:
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 当谷歌地图进入街景时,我能抓住什么事件
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 如何在多承诺链中处理谷歌地图API V3事件
- 将谷歌地图点击事件中的LatLng传递到rails控制器
- 在JQuery中使用谷歌地图Api事件/侦听器
- 点击事件在谷歌地图和AJAX
- 信息窗口谷歌地图点击事件给出错误
- firefox(谷歌地图)中未触发的点击事件
- 谷歌地图API-点击事件仅在边缘点击时触发
- 加载自定义磁贴后的谷歌地图事件
- 谷歌地图Javascript v3多段线点击事件
- 谷歌地图点击事件移动标记
- 谷歌地图API v3调整大小事件
- 如果谷歌地图绘图(如onDraw)触发什么事件
- 重叠圆圈阻止鼠标悬停事件-谷歌地图v3
- 显示谷歌地图点击事件 - 谷歌地图API
- 避免在地图平移时自定义叠加点击事件(谷歌地图 API)
- 简单点击事件谷歌地图