【发布时间】:2011-08-14 13:07:32
【问题描述】:
我正在努力做到这一点,以便当用户从表单中选择一些东西并点击提交时,它会将所有东西添加到谷歌地图中。添加标记效果很好,添加监听事件以添加折线也效果很好。由于某种原因,KML 文件将无法正确覆盖。我不确定我做对了。表单中的值确实正确回显,所以我知道数据至少到达了 map 函数。这是不工作的代码:
window.onload = function() {
// Creating an object literal containing the properties
// we want to pass to the map
var options = {
zoom: 5,
center: new google.maps.LatLng(39.09, -95.71),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Creating the map
var map = new google.maps.Map(document.getElementById('map'), options);
// Creating a LatLngBounds object
var bounds = new google.maps.LatLngBounds();
// Creating an empty MVCArray
var route = new google.maps.MVCArray();
var polyline = new google.maps.Polyline({
path: route,
strokeColor: "#ff0000",
strokeOpacity: 0.6,
strokeWeight: 5
});
polyline.setMap(map);
google.maps.event.addListener(map, 'click', function(e) {
var path = polyline.getPath();
path.push(e.latLng);
});
kmlFiles.setMap(map);
这里是设置 kmlFiles 变量的代码:
kmlFiles = new google.maps.KmlLayer(<?php echo $_POST['kmlFile']; ?>);
【问题讨论】:
-
代码在我看来没问题。究竟出了什么问题?你真的需要使用 kml 文件吗?
标签: javascript google-maps-api-3