所以我正在制作一个简单的网站,其初始功能简单如此:从最近上传的KML文件初始化Google Maps API
用户上传KML文件到网站。 Google Maps API会使用此KML文件进行初始化,以便显示地图及其最近的移动。
现在这听起来很简单,但我在基础知识方面遇到了一些麻烦。这或多或少是我第一次参与Web开发,因此我正在尝试学习HTML,CSS,AJAX,PHP,Google Maps API V3以及KML文件格式。
要使用KML文件初始化谷歌地图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文件。用户按下“上传”按钮。文件已上传,然后立即用于初始化显示其移动的地图。
我可能写得太多了,但我认为最好写得不够多。预先感谢您的建议。
KmlLayer更改地图以显示KML文件的内容(除非您指定preserveViewport选项为true)。 – geocodezip 2012-07-14 17:00:43