谷歌地图-事件监听器创建的标记商店定位器
Google Maps - event listener on markers created by Store Locator
我从这个例子中工作:http://storelocator.googlecode.com/git/examples/panel.html
我希望能够添加一个侦听器到这样的所有标记,但我不知道如何引用它们,因为它们是由商店定位器从DataFeed创建的。
google.maps.event.addListener(marker, 'click', //myCode);
这与示例中的面板代码完全相同:
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(-28, 135),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var panelDiv = document.getElementById('panel');
var data = new MedicareDataSource;
var view = new storeLocator.View(map, data, {
geolocation: false,
features: data.getFeatures()
});
new storeLocator.Panel(panelDiv, {
view: view
});
});
看看这个例子。如果你只是想自定义信息窗口的内容,那就使用那个部分。
// Store locator with customisations
// - custom marker
// - custom info window (using Info Bubble)
// - custom info window content (+ store hours)
var ICON = new google.maps.MarkerImage('medicare.png', null, null,
new google.maps.Point(14, 13));
var SHADOW = new google.maps.MarkerImage('medicare-shadow.png', null, null,
new google.maps.Point(14, 13));
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(-28, 135),
zoom: 4,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var panelDiv = document.getElementById('panel');
var data = new MedicareDataSource;
var view = new storeLocator.View(map, data, {
geolocation: false,
features: data.getFeatures()
});
view.createMarker = function(store) {
var markerOptions = {
position: store.getLocation(),
icon: ICON,
shadow: SHADOW,
title: store.getDetails().title
};
return new google.maps.Marker(markerOptions);
}
var infoBubble = new InfoBubble;
view.getInfoWindow = function(store) {
if (!store) {
return infoBubble;
}
var details = store.getDetails();
var html = ['<div class="store"><div class="title">', details.title,
'</div><div class="address">', details.address, '</div>',
'<div class="hours misc">', details.hours, '</div></div>'].join('');
infoBubble.setContent($(html)[0]);
return infoBubble;
};
new storeLocator.Panel(panelDiv, {
view: view
});
});
或者甚至这样做:
view.createMarker = function(store) {
var markerOptions = {
position: store.getLocation(),
title: store.getDetails().title
};
var marker = new google.maps.Marker(markerOptions);
google.maps.event.addListener(marker, "click", function() {
alert("my code");
});
return marker;
}
工作示例相关文章:
- 组合的量角器定位器
- 一个定时器事件会在多大程度上减慢我在JavaScript中的代码
- 找不到定位器Javascript
- javascript计时器事件
- 在商店定位器谷歌地图api中的商店面板中添加新字段
- 谷歌Chrome日期选择器事件
- 确定用于捕获对象的正确定位器
- 谷歌地图商店定位器只返回一个结果
- 主干.js没有模型的日期选取器事件侦听器
- jQuery UI 日期选取器事件过早触发
- 捕获霍尼韦尔 75e 和 phonegap 上的条形码读取器事件
- j查询存储定位器标记
- 谷歌地图商店定位器将硬编码初始化修改为动态
- PhoneGap地理定位器使用WiFi而不是GPS
- 谷歌地图商店定位器 点击跳转到页面顶部
- 量角器无法使用定位器 by.partialButtonText 或 by.buttontext 识别 angularjs
- 我可以使用什么来生成元素定位器的名称
- 更改计时器事件 Javascript 中变量的值
- 无法使用量角器的绑定定位器定位元素
- 谷歌地图-事件监听器创建的标记商店定位器