javascript - 如何获取getroute生成的marker的onclick事件

标签 javascript jquery google-maps google-maps-api-3 jquery-gmap3

在这个 jsfiddle 中是我的 js 的简化版本:http://jsfiddle.net/Drecker/2m4kvxb8/4/请注意,jsfiddle 有趣的部分只是 showRoute 方法。并且方法 showMarker 仅在正常标记上显示所需的行为。

基本上,我通过 gmap3 getroute 生成一 strip 有一些航路点的路线。单击一个航点后,我需要打开一个小信息框,其中包含该点的更多自定义信息 - 因此基本上以某种方式获取此类航点的 onclick 事件(通过该航点的一些标识,以便我能够获得正确的信息)。我能够在单独的标记上实现所需的行为(正如您在 jsfiddle 中看到的 - 这是左上角的功能齐全的单独标记),但不能在由 directionrenderer 生成的标记上实现。

此外,请注意,我的航路点有 stopover: false ,并且由于某种原因,此类标记会忽略(某些)选项,例如 title,正如您在 jsfiddle 中看到的那样。

非常感谢任何帮助 - 我已经尝试了几种方法,但没有一个起作用。

最佳答案

希望您正在使用 Google API 库的某个版本,以防出现类似情况

  <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places,geometry" type="text/javascript"></script>

例如,您有一个 div 空间来显示 map

<div id="map" style="width: 700px; height: 600px;"></div>

因此您可以使用它在标记上添加监听器

//location is an array variable where you store your co ordinates
//code to show map
var map = new google.maps.Map(document.getElementById('map'), {
                zoom: 10,
                center: new google.maps.LatLng(locations[0].latitude, locations[0].longitude),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            });
//adding listener
var marker,i;
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function (marker, i) {
                    return function () {
                        infowindow.setContent(locations[i].city);
                        infowindow.open(map, marker);
                    }
                })(marker, i));

哪里

marker is the varible which will be something like this,

 //adding marker
 for (i = 0; i < locations.length; i++) {
                marker = new google.maps.Marker({
                    position: new google.maps.LatLng(locations[i].latitude, locations[i].longitude),
                    map: map
                });

希望上面的内容对您有所帮助

关于javascript - 如何获取getroute生成的marker的onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25982103/

相关文章:

javascript - Webpack 在脚本中导入一个节点模块

javascript - Node.js 无法导入 ES6 模块

javascript - 像 JavaScript CryptoJS 一样在 PHP 中加密

javascript - React 事件处理程序未删除

javascript - 如何在自身内部调用函数

javascript - jquery countdown.js 相关示例

html - 谷歌地图信息框高于所有其他内容 z-index 不起作用

javascript - 谷歌地图标记大小与 react

javascript - php 和 mysql 中的自动完成表单字段

java - Android 谷歌地图 v2 : resize polygon