1

我正在创建一个地图应用程序,用户可以在 Google 地图上以交互方式绘制多边形。

我需要将此多边形数据发送回 Sql Server,并根据它们在数据库中位于多边形内的 LatLng 位置确定要返回的记录。

有谁知道如何执行此操作或可用的例程。提前致谢

4

1 回答 1

0

如果您有与记录关联的地理列,则可以使用它来查询多边形内的项目。链接让你开始。这是一个例子:

--What Items are within the Bermuda Triangle? 
---Note that Well-Known Text representation of a polygon is composed of points defined by Longitude then Latitude.
---Note that the points are defined in a counter-clockwise order so that the polygon is the interior of the triangle.  
DECLARE @BermudaTriangle geography = geography::STPolyFromText
('POLYGON((
    -80.190262  25.774252,
    -66.118292 18.466465,
    -64.75737 32.321384,
    -80.190262 25.774252
))', 4326)

SELECT ItemID, ReportedGPSPoint.Lat, ReportedGPSPoint.Long
FROM Items
WHERE ReportedGPSPoint.STIntersects(@BermudaTriangle) = 1
于 2013-11-13T15:40:03.073 回答