如何从我点击/点击地图的位置获取纬度和经度?
我找到了使用GeoCoordinate类的示例,但它是来自Win 7 mobile的示例,此类在Win 8 Metro中不存在
我找到了Geocoordinate类,但它完全不同,我也无法将我的地图转换为此类,如示例
我在Win 7中的示例看起来像这样
Point p = e.GetPosition(this.MapMain);
GeoCoordinate geo = new GeoCoordinate();
geo = MapMain.ViewportPointToLocation(p);
至于现在我已经创建了新项目,添加了bing map并设置了Tapped action。但我不知道如何在任何地方找到基于tap
的坐标答案 0 :(得分:1)
试试这个:
Point p = e.GetPosition(this.MainMap);
Location location = new Location();
MainMap.TryPixelToLocation(p, out location);
位置变量将具有纬度和经度值。
答案 1 :(得分:0)
首先,为click事件添加一个事件监听器:
Microsoft.Maps.Events.addHandler(map,'click',mapClick);
然后在事件处理程序中:
function mapClick(e){
if (e.targetType == "map") {
//Get x and y
var point = new Microsoft.Maps.Point(e.getX(), e.getY());
//Convert map point to location
var location = e.target.tryPixelToLocation(point);
console.log(location.longitude);
console.log(location.latitude);
}
}
答案 2 :(得分:0)
// --------- HTML/JS --------------
var mapCenter = map.getCenter();
var pos = map.tryPixelToLocation(new Microsoft.Maps.Point(location.clientX, location.clientY), Microsoft.Maps.PixelReference.control);
// --------- C# -------------------
Geolocator geolocator = new Geolocator();
var pos = await geolocator.GetGeopositionAsync();
Location location = new Location(pos.Coordinate.Latitude, pos.Coordinate.Longitude);