我正在使用Javascript API v3,如下所示:
(function() {
window.onload = function(){
var latlng = new google.maps.LatLng(57.8, 14.0);
var options = {
zoom: 6,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map'), options);
}
})();
加载谷歌地图视图 - 取自示例http://www.svennerberg.com/2009/06/google-maps-api-3-the-basics/。现在我热衷于从数据存储中提取长/纬度细节并将其视为标记。但是,我不确定最聪明的方法,似乎有一些令人困惑的例子无济于事。我正在使用Python的Google App Engine。有没有人对添加标记的简单方法有任何指示。
由于
答案 0 :(得分:3)
这非常简单,只需从服务器获取lat / long,或者将其嵌入页面中,或者使用ajax请求获取它,然后只需创建一个标记对象。
var marker - new google.maps.Marker ( { map : <your map variable>,
position : <latlng variable> });
将标记对象保留在变量中,您可以更新它而无需重新创建它。
marker.setPosition(<new latlng>);
答案 1 :(得分:1)
我不确定您是否在询问如何在数据存储中存储/加载Lat / Lng数据,或者如果您问我如何将数据转换为javascript,那么我将回答这两个问题。
假设您正在使用原始数据存储区,只需创建一个GeoPtProperty来存储数据。从datstore加载对象时,您将拥有一个具有lat和lon属性的GeoPt对象的实例。
至于如何将这些数据导入javascript,您有多种选择,具体取决于您的使用案例,不同的选项对您来说可能更好。 1.渲染页面的其余部分时,可以将数据输出到模板。它的工作原理将根据您的模板系统而有所不同,但您需要使用json.dumps或simplejson.dumps创建数据的JSON表示形式。 2.您可以将数据作为AJAX请求请求,并返回数据的JSON表示。 3.您可以将数据嵌入HTML中,让javascript使用DOM操作来读取数据。
如果使用大量标记,您需要考虑的另一种更高级的方法是创建一个包含数据的KML图层并显示KML图层。