我正在使用脚本(不是我自己制作的)来通过Markerclustering在Google MAP API中显示标记。我已经将此脚本包括在我的页面之一中,此后,我的jQuery代码不再起作用。
我已经开始使用console
等进行调试,并且发现了导致此问题的原因,这个功能位于marker_cluster JS脚本页面的顶部:
<script type="text/javascript" src="speed_test.js"></script>
<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', speedTest.init);
</script>
<script src="vendors/markerclustererplus/src/markerclusterer.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=API_KEY&callback=speedTest.init">
</script>
function $(element) {
return document.getElementById(element);
}
var speedTest = {};
speedTest.pics = null;
speedTest.map = null;
speedTest.markerClusterer = null;
speedTest.markers = [];
speedTest.infoWindow = null;
speedTest.init = function() {
var latlng = new google.maps.LatLng(39.91, 116.38);
var options = {
// 'zoom': 10,
// 'center': latlng,
// 'mapTypeId': google.maps.MapTypeId.ROADMAP
zoom: 9,
center: new google.maps.LatLng(46.188, 6.12701),
gestureHandling: "greedy",
disableDefaultUI: true,
zoomControl: true,
fullscreenControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
speedTest.map = new google.maps.Map($('map'), options);
speedTest.pics = data.photos;
var useGmm = document.getElementById('usegmm');
google.maps.event.addDomListener(useGmm, 'click', speedTest.change);
var numMarkers = document.getElementById('nummarkers');
google.maps.event.addDomListener(numMarkers, 'change', speedTest.change);
speedTest.infoWindow = new google.maps.InfoWindow();
speedTest.showMarkers();
};
当我评论这段代码时:
function $(element) {
return document.getElementById(element);
}
然后我的jquery代码可以再次使用,但是Google Map API不再显示了。我认为这是因为它是常规功能...而且它必须与页面的所有功能相互干扰,这才引起问题。
您可以找到此code here。
如果您有任何线索可以解决此问题,我将非常感谢=)
谢谢,祝你有美好的一天。
答案 0 :(得分:0)
$
指的是jQuery
,您通过声明以下函数来对其进行更改
function $(element) {
return document.getElementById(element);
}
使用其他功能名称代替$
。也许您可以使用e
function e(element) {
return document.getElementById(element);
}