-4
A
回答
2
您将无法直接通过FetchXml执行此操作,因为地址解析不作为功能提供。
这意味着您需要手动开始滚动,这并不容易。 This site对你需要做什么有一个很好的概述(即使语言与你可能用于CRM的不同)。
一种选项可放松您的要求,只需使用FetchXml寻找记录与经度+/-1.5英里和纬度+/- 1.5英里(这当然查询状如方形而不是一个区域半径)。
如果您需要更严格,您可以尝试重写以下MySQL(即不是MSSQL!)查询,并将其与某种QueryExpression一起使用?因此,例如,查询表达式如上所述确定数据的粗略子集(例如,经度和纬度与中心点的距离为1.5英里),然后在返回这些结果之后,为每个结果计算它是否落在期望半径内...
SELECT id, X(gm_coor) AS latitude, Y(gm_coor) AS longitude,
ATAN2(
SQRT(
POW(COS(RADIANS(__LAT__)) *
SIN(RADIANS(Y(gm_coor) - __LNG__)), 2) +
POW(COS(RADIANS(X(gm_coor))) * SIN(RADIANS(__LAT__)) -
SIN(RADIANS(X(gm_coor))) * COS(RADIANS(__LAT__)) *
COS(RADIANS(Y(gm_coor) - __LNG__)), 2)),
(SIN(RADIANS(X(gm_coor))) * SIN(RADIANS(__LAT__)) +
COS(RADIANS(X(gm_coor))) * COS(RADIANS(__LAT__)) *
COS(RADIANS(Y(gm_coor) - __LNG__)))
) * 6372.795 AS distance
FROM geocoded
HAVING distance < [RANGE IN KILOMETRES]
0
我能想到的两种选择断手
1)使用SQL里面的过滤视图和计算大圆距离公式。这是最干净的方式,但不是取回。
2)获取所需点的纬度/经度的+/- 0.02内的所有结果。然后使用大圆距离公式(和JavaScript)来磨练你想要的物品。因此,在这种情况下,Fetch会返回一些额外的结果(但会排除大多数结果),然后JavaScript会过滤剩余的结果。
选项#2效果很好,但是是一种双通道方法。
相关问题
- 1. SQL搜索按距离
- 2. 搜索在距离
- 3. GeoDjango距离搜索
- 4. 地理距离搜索MYSQL
- 5. SQL Server的距离搜索
- 6. WordPress的距离搜索SQL
- 7. 搜索引擎的距离
- 8. 按距离排序搜索结果
- 9. 按距离搜索限制地址
- 10. 距离Cell塔的距离
- 11. 按距离排序
- 12. 谷歌API - - 地方搜索RankBy距离
- 13. “在距离内搜索”OpenStreetMap的API
- 14. Mysql查询距离搜索失败
- 15. Mysql POINT专栏为距离搜索
- 16. Azure的搜索距离过滤
- 17. Symfony2,学说搜索和距离排序
- 18. 在SQL中用距离搜索
- 19. mysql之间的搜索距离
- 20. 距离
- 21. 刻面在solr-距离如何生成,搜索withing距离的给定范围
- 22. 弹性搜索中的地理距离查询中的返回距离5.x
- 23. 计算距离位置的距离 - iPhone
- 24. 如何计算距离cellID的距离?
- 25. 获取距离边缘的距离3
- 26. Rails的5:搜索按关键字和按距离排序
- 27. 按距离排序上ElasticSearch
- 28. Android的排序按距离
- 29. tableview按距离排序swift
- 30. Algolia按ROUTE距离排序
请参阅本太:http://www.codeproject.com/Articles/32806/GeoLocation-by-Radius-Using-Google-Maps-and-NET –