【问题标题】:How to show multiple Pushpins Windows Phone 8如何显示多个图钉 Windows Phone 8
【发布时间】:2013-05-06 16:15:38
【问题描述】:

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

// 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);

【问题讨论】:

    标签: windows-phone pushpin


    【解决方案1】:

    您将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);
    

    或者更好的是有一些功能来显示你的别针

    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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 2013-03-17
      相关资源
      最近更新 更多