我有一个网站,我加载并使用kmz文件。我的问题是GEO的位置不起作用,我的意思是它正在工作,但由于Javascript加载了kmz文件并将重点放在KMZ地图而不是你的GEOlocation上,因此它没有显示街道。
无论如何,这是代码,所以你可以看出错误:
<script type="text/javascript">
var map, infoWindow;
$(document).ready(function(){
infoWindow = new google.maps.InfoWindow({});
map = new GMaps({
el: '#map',
zoom: 20,
lat: 46.044414,
lng: 14.508105,
});
map.loadFromKML({
url: 'http://blabla.com/blabla.kmz',
url: 'http://blabla.com/blabla2.kmz',
suppressInfoWindows: true,
events: {
click: function(point){
infoWindow.setContent(point.featureData.infoWindowHtml);
infoWindow.setPosition(point.latLng);
infoWindow.open(map.map);
}
}
});
});
</script>
<script type="text/javascript">
GMaps.geolocate({
success: function(position) {
map.setCenter(position.coords.latitude, position.coords.longitude);
},
error: function(error) {
alert('Geolocation failed: '+error.message);
},
not_supported: function() {
alert("Your browser does not support geolocation");
},
always: function() {
alert("Success!");
}
});
</script>
哦,我差点忘了,我正在使用Gmaps.js
答案 0 :(得分:0)
此外,loadFromKML接受google.maps.KmlLayerOptions中定义的任何选项。
preserveViewport 布尔值默认情况下,输入地图居中并缩放到图层内容的边界框。如果此选项设置为true,则视口保持不变,除非从未设置地图的中心和缩放。
map.loadFromKML({
url: 'http://blabla.com/blabla.kmz',
url: 'http://blabla.com/blabla2.kmz',
preserveViewport: true,
suppressInfoWindows: true,
events: {
click: function(point){
infoWindow.setContent(point.featureData.infoWindowHtml);
infoWindow.setPosition(point.latLng);
infoWindow.open(map.map);
}
}