【问题标题】:Get geo-locations from cities从城市获取地理位置
【发布时间】:2013-05-20 11:00:19
【问题描述】:

我正在尝试显示半径范围内给定城市最近的餐馆列表。为此,我必须将城市转换为经度/纬度。

用户在填写餐厅信息时,会填写地址。根据该地址,我需要获取经度/纬度并将其保存到数据库中。

我不需要在地图上指出这一点。我只会向用户显示给定半径内所有最近的餐馆的列表。

如何使用ASP.NET-MVC4 执行此操作? 此外,该项目基于Code First。对于地址,我将DbGeography 作为数据类型集。

该项目是基于this 教程

编辑 为避免其他人告诉我,单独使用 ASP.NET 是不可能的,我知道这一点。带有 Google 地图/.NET 包装器的示例会很棒。

【问题讨论】:

    标签: asp.net-mvc-4 geolocation ef-code-first


    【解决方案1】:

    这个查询本身通常在数据库后端完成,因为程序是数据的消费者而不是数据的保持者。您将有一张餐厅表,可能是许多城市的餐厅,每家餐厅都有一个纬度和经度。您在表上创建一个地理空间索引,该索引执行细分以提高性能;您配置镶嵌参数。您必须确定餐厅寻求者所在位置的纬度/经度。您的命令对象会将这些数据连同所需的半径一起提供给存储过程。存储过程会将一组可枚举的行返回给您的客户端程序。

    【讨论】:

    • 嗨,现在的问题更像是如何获得纬度/经度。我不能要求餐厅的填表人输入这些点。
    • ASP.NET 自己无法做到这一点。用户必须提供街道地址或十字路口,其坐标可以使用网络服务查找;或者在用户的智能设备上运行的程序(如果适用)可能会从设备获取位置并将其传递给网站。餐厅老板也是如此。有些公司会付费对一组地址进行地理编码。使用“免费”网站有一定的限制/限制。
    • 我希望有一个关于如何获取地理位置的谷歌地图示例? AFAIK,这应该是可能的?
    • 搜索“从 ASP.NET MVC 使用 webservice”或同上“从 mvc 使用 google webservice”。
    【解决方案2】:

    我找到了满足我需要的 this .NET 包装器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-05
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      相关资源
      最近更新 更多