【问题标题】:makeMarker() Google Maps Sidebar FormatmakeMarker() 谷歌地图侧边栏格式
【发布时间】:2012-09-24 13:55:03
【问题描述】:

我想知道是否有人可以帮助我。

首先,我对此比较陌生,所以请您耐心等待。

我已将this 页面放在一起,该页面允许用户显示和隐藏与他们选择的“类别”复选框相关的 Google 地图标记和关联的“侧边栏”项目。

我现在正在尝试并且很难做到的是更改侧边栏的格式,使其类似于this 页面上显示的格式。

与上面链接中的示例一样,我还想添加一个功能,如果点击地图标记,相关的侧边栏项目就会突出显示。

我一直在努力让它工作很长一段时间,但我似乎只是在绕圈子。

我只是想知道是否有人可以看看这个,并就我如何能够实现这一点提供一些指导。

非常感谢和亲切的问候

【问题讨论】:

  • 侧边栏到底是什么意思?我似乎错过了它..
  • 嗨@Mansfield,感谢您抽出宝贵时间查看并回复我的帖子。对不起,我应该说得更清楚一点。如果您使用我在原始帖子中提供的第一个链接,它将打开一个页面,其中显示 4 个复选框、一个地图和两个橙色列表项。我的示例中显示了两个项目,这些项目是“侧边栏”。然后复选框确定地图上显示的标记类别。选择和取消选择这些将使侧边栏项目在“侧边栏”中出现和消失。非常感谢和亲切的问候
  • 好的,我明白了。如果今晚我回家时仍未得到答复,我会采取行动。
  • 嗨@Mansfield,非常感谢你。我期待着您的回音。所有最好的和亲切的问候

标签: php javascript google-maps-api-3 sidebar


【解决方案1】:

我试了一下,只需替换您的以下代码:

google.maps.event.addListener(marker, 'click', function() { 
   infowindow.setContent(contentString);
   infowindow.open(map,marker); 
});

对于这个:

google.maps.event.addListener(marker, 'click', function() { 
   infowindow.setContent(contentString);
   $("#sidebar a").css('background-color','');//remove sidebar links back colors
   sidebarlink = $("#sidebar a:contains('"+marker.mydescription+"')");
   sidebarlink.css('background-color','#58FAD0');
   infowindow.open(map,marker); 
});

这将为侧边栏链接设置背景颜色,您可以将颜色更改为您想要的任何颜色或添加您喜欢的任何其他 css 样式到您的链接。

还要确保mydescription 变量中的描述文本永远不会包含引号' 或双引号",否则会导致上述代码失败。

让我知道这是否符合您的预期。

此外,如果您还希望在单击地图的任何位置(例如单击标记外部)时从侧边栏链接中删除背景颜色,请替换以下代码:

google.maps.event.addListener(map, 'click', function() { 
   infowindow.close(); 
});

对于这个:

google.maps.event.addListener(map, 'click', function() { 
   $("#sidebar a").css('background-color','');//remove sidebar links back colors
   infowindow.close(); 
});

要在侧边栏链接悬停时更改背景颜色(问题 1),只需将以下 CSS 代码添加到您的任何 <style type="text/css"> 块中:

#sidebar a:hover{
   background-color: #58FAD0;   
}​

【讨论】:

  • 嗨@Nelson,感谢您抽出宝贵时间将这些放在一起。可悲的是,它并不完全有效。侧边栏列表的“悬停”上的背景颜色似乎没有变化.此外,如果用户选择一个标记,则链接的“侧边栏”项目的背景确实会改变颜色。 However, it doesn't revert back to the default background colour when the second marker is selected.我已经更新了我在原始帖子中包含的链接以说明这一点。我也对“mydescription”不能包含code 或“感到不安。这限制了用户输入的内容。亲切的问候
  • @IRHM 感谢您提供良好的反馈,您发现了两个问题,1)悬停不工作,2)背景颜色没有被清除。我已经修复了第 2 号问题),请参阅我的更新答案,其中我还放了一些代码,以防您在单击外部标记时也想清理背景,但在地图中,您显示的页面 koti.mbnet.fi 没有完成该行为....但在我看来,这可能是您页面的改进。
  • 我刚刚更新了我的答案以修复问题 1)查看我的 CSS 以获得悬停效果。
  • 嗨@Nelson,这真的非常非常好。这正是我一直在寻找的。非常感谢您付出的所有时间、麻烦和努力。我将赏金奖励给你。亲切的问候
  • @IRHM 谢谢你的好话,我很高兴你喜欢它:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
相关资源
最近更新 更多