如果我有一个后端云数据库(Google DataStore -nosql或Google Cloudsql),其中包含POI的负载,而我的前端有一个Google Map(JS API),则如何沿着地图上的路线显示我的DB的POI?
允许用户使用Google Maps API进入开始和目标发布/Zipcodes并显示路由很容易。存储用户lat/lon或地址很容易。我对此进行了一些研究,并陷入了最后的位 - 从DB上拉出正确的po(例如,在距路线的用户指定距离内)。数据库可能在多个国家中包含大量的毒药,但是任何特定路线沿线的POI密度都可能很低。
看来,地图API几乎可以让我到达那里,但还不够,我不确定如何搜索 my pois而不是已经在Google Maps中的POI。
显然,我想以成本和资源有效的方式(如果可能的话)进行此操作。架构是JS/HTML5前端,后端Google Cloud(PHP Appengine,DataStore或Cloud SQL)。
感谢您的任何建议或指示!
Alex
mySQL支持'空间'索引,使您可以根据几何形状进行查询。您将LAT/LON存储在带有空间索引索引的田野中。当您想查询时,您可以创建一个代表您要查看的形状(例如,路由的边界框 一些填充框),然后查询空间索引是否以该形状。
MySQL文档的文档位于http://dev.mysql.com/doc/refman/5.6/en/spatial-extensions.html。您可以在Cloud SQL中使用它。
App Engine DataStore具有用于地理空间查询的闭合alpha:https://cloud.google.com/appengine/docs/java/datastore/geosearch。如果您可以等待,也许可以使用。