windows-phone - 如何显示多个图钉 Windows Phone 8

标签 windows-phone pushpin

请有人帮我修复此代码。我无法显示多个图钉:( 或者给我一些有关显示图钉的链接。泰:)

// Creat point
        GeoCoordinate p1 = new GeoCoordinate(21.0178, 105.8303);
        GeoCoordinate p2 = new GeoCoordinate(21.0076, 105.8414);
        // Show center map
        this.myPushpins.Center = p1;
        this.myPushpins.ZoomLevel = 13;
        // Creat Pushpins
        Pushpin pp = new Pushpin();
        // Creat MapOverLap
        MapOverlay overlay1 = new MapOverlay();
        overlay1.Content = pp;
        overlay1.GeoCoordinate = new GeoCoordinate(21.0178, 105.8303);
        MapOverlay overlay2 = new MapOverlay();
        overlay2.Content = pp;
        overlay2.GeoCoordinate = new GeoCoordinate(21.0076, 105.8414);
        // Creat Maplayer
        MapLayer layer = new MapLayer();
        layer.Add(overlay1);
        layer.Add(overlay2);
        myPushpins.Layers.Add(layer);

最佳答案

您将 overylay1overylay2 的内容设置为同一个 Pushpin 对象实例。您需要有两个不同的 Pushpin 实例。试试这个代码:

    // Creat point
    GeoCoordinate p1 = new GeoCoordinate(21.0178, 105.8303);
    GeoCoordinate p2 = new GeoCoordinate(21.0076, 105.8414);
    // Show center map
    this.myPushpins.Center = p1;
    this.myPushpins.ZoomLevel = 13;
    // Creat Pushpins
    //Pushpin pp = new Pushpin();
    // Creat MapOverLap
    MapOverlay overlay1 = new MapOverlay();
    overlay1.Content = new Pushpin();
    overlay1.GeoCoordinate = new GeoCoordinate(21.0178, 105.8303);
    MapOverlay overlay2 = new MapOverlay();
    overlay2.Content = new Pushpin();
    overlay2.GeoCoordinate = new GeoCoordinate(21.0076, 105.8414);
    // Creat Maplayer
    MapLayer layer = new MapLayer();
    layer.Add(overlay1);
    layer.Add(overlay2);
    myPushpins.Layers.Add(layer);

或者更好的是有一些功能来显示您的 pin

public void PinMap(Map map, GeoCoordinate geoPosition) {
    map.Center = geoPosition;
    map.ZoomLevel = 13;

    var mapOverlay = new MapOverlay();
    mapOverlay.Content = new Pushpin();
    mapOverlay.GeoCoordinate = geoPosition;

    var mapLayer = new MapLayer();
    mapLayer.Add(mapOverlay);

    map.Layers.Add(mapLayer);
}

PinMap(myMap, new GeoCoordinate(21.0178, 105.8303));
PinMap(myMap, new GeoCoordinate(21.0076, 105.8414));

关于windows-phone - 如何显示多个图钉 Windows Phone 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16402797/

相关文章:

visual-studio-2012 - Visual Studio部署错误

c# - 如何获取内存字符串流?

windows-phone - AuthenticateAsync 已被弃用。如何使用 Facebook C# SDK?

bing-maps - 如何使用 Bing map 防止同一地理位置的图钉重叠?

android - 更改图钉文本颜色

c# - 具有 BackgroundColor 和图像的 WPF 椭圆

c# - visual studio express 2012 中的 PowerPacks 命名空间错误

拖动 map 时MapControl Xaml元素滞后

android - MapView 在触摸时添加图钉

c# - 更改图钉 WPF 的图像