Geolocation 在不嵌入谷歌地图的情况下,如何使用地理定位或类似API查找一个地方到另一个地方之间的距离?

Geolocation 在不嵌入谷歌地图的情况下,如何使用地理定位或类似API查找一个地方到另一个地方之间的距离?,geolocation,google-places-api,Geolocation,Google Places Api,我有一份旅游地点的清单,我愿意写一份服务,可以告诉我哪一个旅游地点离我最近,然后是第二个最近的,同样的,不用地图。我该怎么做呢。我的想法是,我有一个城市中所有旅游景点的数据库,以及它们的lat/long,我可能在城市中的任何地方,我想找到哪个景点离我最近,第二近,并且像wise一样,这样我就可以根据我有多少时间来计划参观它们。我尝试了这个,发现谷歌地图api,但我不想显示相同的地图。或者给用户地图来搜索东西。你不需要谷歌地图 通过获取用户的位置 在点列表上映射,使用使用该算法计算的用户与点之间的

我有一份旅游地点的清单,我愿意写一份服务,可以告诉我哪一个旅游地点离我最近,然后是第二个最近的,同样的,不用地图。我该怎么做呢。我的想法是,我有一个城市中所有旅游景点的数据库,以及它们的lat/long,我可能在城市中的任何地方,我想找到哪个景点离我最近,第二近,并且像wise一样,这样我就可以根据我有多少时间来计划参观它们。我尝试了这个,发现谷歌地图api,但我不想显示相同的地图。或者给用户地图来搜索东西。

你不需要谷歌地图

  • 通过获取用户的位置
  • 在点列表上映射,使用使用该算法计算的用户与点之间的距离来增加对象
  • 根据距离对列表进行排序

  • 你不需要谷歌地图

  • 通过获取用户的位置
  • 在点列表上映射,使用使用该算法计算的用户与点之间的距离来增加对象
  • 根据距离对列表进行排序

  • 如果你不打算显示地图,那么你就不能使用谷歌地图API(这违反了他们的TOS)

    如果你想从没有谷歌地图或类似服务的地址获取lat/lon(因为类似的服务有类似的TOS),那么你会想寻找类似的服务(显然我应该透露我在)

    此示例适用于美国地址。国际地址需要不同的API

    像US Street Address API这样的API不要求您显示地图,返回地理坐标,并在返回有效负载时验证地址的有效性

    这是一个例子

    
    LiveAddress.init(123456789);//API密钥
    //确保您在某处声明或获取开始或结束lat/lon。
    //此示例仅执行其中一点。
    LiveAddress.geocode(地址,函数(地理位置){
    var-lat2=geo.lat,lon2=geo.lon;
    //距离计算从:http://stackoverflow.com/questions/27928/how-do-i-calculate-distance-between-two-latitude-longitude-points
    var R=6371;//地球半径,单位为km
    var dLat=(lat2-lat1).toRad();//以弧度表示的Javascript函数
    var dLon=(lon2-lon1.toRad();
    变量a=Math.sin(dLat/2)*Math.sin(dLat/2)+
    Math.cos(lat1.toRad())*Math.cos(lat2.toRad())*
    数学单(dLon/2)*数学单(dLon/2);
    var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));
    var d=R*c;//以公里为单位的距离
    });
    
    如果你不打算显示地图,那么你就不能使用谷歌地图API(这违反了他们的TOS)

    如果你想从没有谷歌地图或类似服务的地址获取lat/lon(因为类似的服务有类似的TOS),那么你会想寻找类似的服务(显然我应该透露我在)

    此示例适用于美国地址。国际地址需要不同的API

    像US Street Address API这样的API不要求您显示地图,返回地理坐标,并在返回有效负载时验证地址的有效性

    这是一个例子

    
    LiveAddress.init(123456789);//API密钥
    //确保您在某处声明或获取开始或结束lat/lon。
    //此示例仅执行其中一点。
    LiveAddress.geocode(地址,函数(地理位置){
    var-lat2=geo.lat,lon2=geo.lon;
    //距离计算从:http://stackoverflow.com/questions/27928/how-do-i-calculate-distance-between-two-latitude-longitude-points
    var R=6371;//地球半径,单位为km
    var dLat=(lat2-lat1).toRad();//以弧度表示的Javascript函数
    var dLon=(lon2-lon1.toRad();
    变量a=Math.sin(dLat/2)*Math.sin(dLat/2)+
    Math.cos(lat1.toRad())*Math.cos(lat2.toRad())*
    数学单(dLon/2)*数学单(dLon/2);
    var c=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));
    var d=R*c;//以公里为单位的距离
    });
    
    这是用JavaScript实现的吗?是的,我想用JavaScript;但是语言不是这里的限制。你是如何得到旅游景点列表的?这是用JavaScript实现的吗?是的,我想用JavaScript;但是语言不是这里的限制。你是如何获得旅游景点列表的?我不想自动获得用户的位置;我希望用户在文本字段中添加他的位置并查找选项。因为我希望用户能够搜索和建议其他用户也。我可以给他一个选项来做“查找我的位置”的事情。用户将键入他们自己的lat和lon?我认为你高估了游客对周围环境的了解程度。你可以使用Google Maps API从一个人类可读的地址获取lat/lon。假设有人问我今天可以访问哪里我在x位置,所以我可以使用此服务键入他的x位置并找到离他最近的所有位置。我没有高估你的观点。大圆距离只给出两个位置之间的区域距离,可能这两个位置之间不存在道路路线。我发现这是为了用谷歌地图计算距离,但它说需要显示谷歌地图。我不想自动获取用户的位置;我希望用户在文本字段中添加他的位置并查找选项。因为我希望用户能够搜索和建议其他用户也。我可以给他一个选项来做“查找我的位置”的事情。用户将键入他们自己的lat和lon?我认为你高估了游客对周围环境的了解程度。您可以使用谷歌地图API从hu获取lat/lon