我的谷歌地图和数据层存在问题。 当我加载包含Points的geojson文件并将click事件绑定到这些标记以打开infoWindow时,地图开始拖动,如您在此片段中所见。
var infoWindow;
function init(){
// ... init map
var lat = 45.553349634491; var lng =-73.611958006357;
var zoom =18;
var mapOptions = { zoom : zoom, disableDefaultUI:true, zoomControl:true, };
map = new google.maps.Map(document.getElementById("map"), mapOptions);
map.setCenter({lat:lat,lng:lng});
// load geojson
map.data.loadGeoJson("http://adam.cherti.name/CREE TA VILLE/get/poteaux.php?lat_nwest=45.55350176872861&lng_nwest=-73.61094413134936&lat_seast=45.55319749984158&lng_seast=-73.6129879746187&date=2015/5/21_21:12:01");
map.data.addListener("mousedown", function(e)
{
var pos = e.latLng;
if(!infoWindow )
infoWindow= new google.maps.InfoWindow();
infoWindow.setPosition(pos);
var html ='hey !';
infoWindow.setContent(html);
infoWindow.open(map);
});
}
$(document).ready(function(){init()});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyAcPswPf-CHjpRLEqDYPj7hBeycynREWpY&sensor=true"></script>
<body style="width:100%; height:100%">
<div style="width:100%; height:500px" id="map"></div>
</body>
</html>
&#13;
我在触发点击事件时随机尝试了一个函数stopPropagation(event)因为我认为它会停止&#34;停止&#34;从触发到地图的事件但它没有奏效。这是func的代码:
function stopPropagation(myEvent){
if(!myEvent){
myEvent=window.event;
}
myEvent.cancelBubble=true;
if(myEvent.stopPropagation){
myEvent.stopPropagation();
}
如果anyonye找到了解决此问题的方法,请告诉我们!
谢谢
答案 0 :(得分:2)
您没有使用click
事件,而是使用mousedown
事件。使用click
事件可以解决我的问题。
var infoWindow;
function init(){
// ... init map
var lat = 45.553349634491; var lng =-73.611958006357;
var zoom =18;
var mapOptions = { zoom : zoom, disableDefaultUI:true, zoomControl:true, };
map = new google.maps.Map(document.getElementById("map"), mapOptions);
map.setCenter({lat:lat,lng:lng});
// load geojson
map.data.loadGeoJson("http://adam.cherti.name/CREE TA VILLE/get/poteaux.php?lat_nwest=45.55350176872861&lng_nwest=-73.61094413134936&lat_seast=45.55319749984158&lng_seast=-73.6129879746187&date=2015/5/21_21:12:01");
map.data.addListener("click", function(e)
{
var pos = e.latLng;
if(!infoWindow )
infoWindow= new google.maps.InfoWindow();
infoWindow.setPosition(pos);
var html ='hey !';
infoWindow.setContent(html);
infoWindow.open(map);
});
}
$(document).ready(function(){init()});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js"></script>
<body style="width:100%; height:100%">
<div style="width:100%; height:500px" id="map"></div>
</body>
</html>
&#13;