从GAE python解析字典以在javascript / GMaps api中创建标记对象

时间:2012-10-24 03:40:25

标签: google-app-engine google-maps google-maps-api-3

我并没有真正回答具体的答案,而是指出了正确的方向。

我有一些coorindates和名字作为存储在GAE中使用python的列表中的字典。我想在谷歌地图中用这些数据创建一些标记对象。问题是,我不太确定如何以一种好的方式解决这个问题。

这是数据的一个例子。 [{'name':'derp','lat':123456,'lng':1234567},{'name':'hurp','lat':431234123,'lng':453453453}]

我在想我会将这个列表dict转换成javascript友好的东西,将它作为变量直接插入到我的javascript代码中,然后使用我的列表将for循环插入到以下函数中。

function addMarker(lat, lng, name){
        var point = new google.maps.LatLng(lat, lng);
        var marker = new google.maps.Marker({position: point,
                                             map: map,
                                             title: name
                                            });

}

清除泥土?

我几乎肯定是在朝着错误的方向前进,所以向我投掷任何想法。

2 个答案:

答案 0 :(得分:2)

JSON非常友好。您可以将字典转储到JSON字符串中,并按照您在问题中的建议将其插入到javascript中。 或者您创建一个GAE Web服务来请求客户端中的JSON数据。这是一个简单的选择,如果您是javery / ajax的familiair,并且如果客户端可以更改请求,则为首选解决方案。

答案 1 :(得分:1)

如果您正在使用模板,请将您的标记数组传递给模板(在名为'markers'的绑定中),然后执行类似

的操作
{% for marker in markers %}
  addMaker({{marker.lat}},{{marker.long}},'{{marker.name}}');
{% endfor %}

应该做你需要的。