Javascript 如何在谷歌地图中为标记绑定触摸事件?
谷歌地图api不支持触摸事件 但是现在我需要在地图和标记上做一些事情,比如长时间点击地图,点击标记,拖动标记Javascript 如何在谷歌地图中为标记绑定触摸事件?,javascript,html,google-maps,google-maps-api-3,touch-event,Javascript,Html,Google Maps,Google Maps Api 3,Touch Event,谷歌地图api不支持触摸事件 但是现在我需要在地图和标记上做一些事情,比如长时间点击地图,点击标记,拖动标记 我想做的与iOS版谷歌地图客户端相同。在这个链接中,您可以获得许多示例。 最近我在谷歌地图上工作,下面是你可以拖放标记的代码,它在移动网络浏览器中工作得非常完美 gmap : function(lat,lng){ var stockholm = new google.maps.LatLng(lat, lng); var parliamen
我想做的与iOS版谷歌地图客户端相同。在这个链接中,您可以获得许多示例。 最近我在谷歌地图上工作,下面是你可以拖放标记的代码,它在移动网络浏览器中工作得非常完美
gmap : function(lat,lng){
var stockholm = new google.maps.LatLng(lat, lng);
var parliament = new google.maps.LatLng(lat, lng);
var marker;
var map;
function initialize() {
var mapOptions = {
zoom: 13,
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: stockholm
};
map = new google.maps.Map(document.getElementById("gmapDiv"),mapOptions);
marker = new google.maps.Marker({
map:map,
draggable:true,
animation: google.maps.Animation.DROP,
position: parliament
});
var infowindow = new google.maps.InfoWindow({
content: 'content'
});
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(marker.get('map'), marker);
});
}
initialize();
}
我实现触摸事件的方式与shreedhar相同,但使用“mousedown”事件。我发现在网络视图(即PhoneGap)中使用谷歌地图API时,移动设备上不会触发“点击”,但“鼠标向下”事件是通过点击移动设备或点击网络触发的
window.infowindow = new google.maps.InfoWindow({
content: 'content'
});
google.maps.event.addListener(marker, 'mousedown', function(){
window.infowindow.open(marker.get('map'), marker);
});
另外,请确保只在页面上定义一个infowindow变量,并对所有标记重复使用它,因此我将infowindow定义为“全局”变量window.infowindow