所以我正在制作一个简单的网站,其初始功能如下:
用户将 KML 文件上传到网站。使用此 KML 文件初始化 Google Maps API,以便显示地图及其最近的移动。
现在这听起来很简单,但我在基础知识方面遇到了一些麻烦。这或多或少是我第一次涉足 Web 开发,所以我正在尝试学习 HTML、CSS、AJAX、PHP、Google Maps API V3,当然还有 KML 文件格式。
要使用 KML 文件初始化 Google Maps API,必须首先设置一些基本信息,例如:
function initialize() {
var myLatlng = new google.maps.LatLng(40.65, -73.95);
var myOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
这里要看的重要一点是地图的中心位置。
除此之外,还必须指定要使用的 KML 文件:
var nyLayer = new google.maps.KmlLayer(
'http://www.searcharoo.net/SearchKml/newyork.kml',
{ suppressInfoWindows: true,
map: map});
这些当然只是示例,而不是我将使用的数据。
现在我的问题就是这样。这些值似乎是预先确定的和静态的。要初始化 Google Maps API,需要事先知道这些值。但就我而言,在用户上传 KML 文件之前,这些值是未知的。
到目前为止,我有一个简单的 PHP 脚本来处理文件上传。我不知道如何将控制权传递给包含 Google 地图设置的 JavaScript,或者如何编写此代码,以便使用仅在文件上传后才知道的值来初始化地图。
总而言之,我要实现的是:
用户浏览到 KML 文件。用户按下“上传”按钮。文件被上传,然后立即用于初始化显示他们移动的地图。
我可能写得太多了,但我认为写得太多总比写得不够好。提前感谢您的建议。