如何从LocationName获取GeoCoordinates

时间:2013-10-03 11:32:43

标签: c# xaml windows-phone-7 windows-phone-8

我想知道,如果有可能从特定位置找出geoCoordinate。我有以下代码:

        delMap.Heading = 0;
        delMap.CartographicMode = MapCartographicMode.Road;
        delMap.LandmarksEnabled = true;
        delMap.ZoomLevel = 8;
        delMap.Center = new GeoCoordinate(47.6097, -122.3331);

        MapOverlay overlay = new MapOverlay
        {
            GeoCoordinate = delMap.Center,
            Content = new Ellipse
            {
                Fill = new SolidColorBrush(Colors.Red),
                Width = 10,
                Height = 10
            }
        };
        MapLayer layer = new MapLayer();
        layer.Add(overlay);

        delMap.Layers.Add(layer);

它在delmap.Center位置显示一个点,就像expectet一样。但是现在,如果我只知道地理位置的名称,我需要找出如何使地图居中。例如“纽约”。

1 个答案:

答案 0 :(得分:1)

地图没有“纽约”的概念,你只能在地理坐标处居中。您需要获取给定位置的坐标。

要做到这一点,要么使用Google或Bing地图构建位置坐标列表(如果您有一个有限且已知的位置数量),要么找到一个能为您提供给定名称坐标的Web服务。


编辑:您需要的是geocoding。以下是Google API参考:https://developers.google.com/maps/documentation/geocoding/