我有一个有许多多边形的图层,其中该图层被标记为非信息层
myLayer = new Layer() { IsMapInfoLayer = false...
我还有一个事件处理程序,用于单击xaml
中定义的映射MapClicked="myClickHandler"
这个点击在空白区域效果很好,但是如果我点击一个多边形,地图点击就会被阻塞。以前,我通过响应多边形的info事件处理程序并将其路由到处理地图单击的相同代码来解决这个问题,但现在这还不够,因为我需要点击位置的lat,lng。
如何使多边形不拦截我的点击?
如果一个特性被点击,MapInfo事件被调用。如果没有,则调用MapClicked事件。这是设计好的。你提到IsMapInfoLayer被设置为false。在这种情况下,不应该触发MapInfo事件,你应该得到一个MapClicked事件。注意,MapInfo事件也可以从另一个层触发。
一个解决你的问题的方法:MapInfo事件也包含了WorldPosition,但它是在SphericalMercator坐标上。你可以这样翻译:
var latLon = Projection.SphericalMercator.ToLonLat(点)。
X, point.Y);