在App Engine中存储100k地图标记

时间:2013-11-21 16:06:44

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

我正在设计另一个“在我的位置附近查找对象”网站和移动应用程序。 我的要求是:

  • 最多可存储10万件物品;
  • 查询靠近该点的对象(我的位置,城市等)。和其他搜索条件(如对象类型);
  • 在Google地图上以平稳的效果显示结果。
  • 让用户按对象时间过滤对象。

我正在考虑在此项目中使用Google App Engine。 你能推荐一下这个最好的数据存储选项吗? 关于动态数据加载策略的几个词。

我现在感到不知所措,并寻找暗示我应该继续研究的地方。

非常感谢!

1 个答案:

答案 0 :(得分:2)

我将假设您正在使用数据存储区。我不熟悉Google Cloud SQL(我相信它的目的是在云端提供类似MySQL的功能),所以我不能说它是否可以进行地理空间查询。

我一直在调查整个“获取位置附近的位置”问题一段时间了。不幸的是,我有一些好消息和坏消息。

在Google环境中进行近距离搜索的最佳方式是通过搜索服务(https://developers.google.com/appengine/docs/python/search/或查找JAVA链接)。原因是它支持“Geopoint Field”,并允许您以这种方式进行查询。

好的,很酷,所以有支持,对吗?但是,“如果查询字符串包含geopoint字段的名称或至少一个OR或NOT布尔运算符,则查询很复杂”。复杂搜索查询的免费配额为100 /天。每10,000次查询,费用为60美分。根据您的应用程序,这可能是一个问题。

我对谷歌地图API并不太熟悉,你可能会得到这样的东西:(https://developers.google.com/maps/articles/phpsqlsearch_v3

我当前的项目/问题涉及移动位置,而不是“静态”位置(商店,地标等)。我决定使用亚马逊的Dynamodb,他们有一个支持地理空间索引的库:http://aws.amazon.com/about-aws/whats-new/2013/09/05/announcing-amazon-dynamodb-geospatial-indexing/