PIN-код не отображается на карте Windows

Я хочу добавить булавку в определенное место на карте для приложения Windows Phone 8.0. Мой код пока следующий:

private async void Button_Click(object sender, RoutedEventArgs e)
{
    BasicGeoposition bGeo = new BasicGeoposition();
    bGeo.Latitude = 37.4333;
    bGeo.Longitude = 24.9167;

    Geopoint geoPoint = new Geopoint(bGeo,0);

    myMap.ZoomLevel = 13;
    myMap.Center = geoPoint;
}


private void AddMapIcon()
{
    MapIcon MapIcon1 = new MapIcon();
    MapIcon1.Location = new Geopoint(new BasicGeoposition()
    {
        Latitude = 37.4333,
        Longitude = 24.9167
    });
    MapIcon1.NormalizedAnchorPoint = new Point(2.0, 2.0);
    myMap.MapElements.Add(MapIcon1); 
}

Карта загружается правильно, но булавка не появляется. Любые идеи по этому поводу? Есть ли способ сделать это без использования элементов управления xaml для булавки?


person Tonia Platsa    schedule 23.05.2015    source источник
comment
Вы делаете центр карты как geoPoint, но хотите, чтобы канцелярская кнопка находилась в bGeo . Вы прокручивали / перемещались по карте и проверяли, появляется ли канцелярская кнопка в каком-либо месте карты? или попробуйте установить контакт на geoPoint для тестирования.   -  person Abhishek    schedule 25.05.2015


Ответы (2)


Это общий способ добавления любого пользовательского интерфейса к элементу управления картой в Windows Phone: нам нужно создать «слои карты» и «наложения карт» и указать координаты, где мы хотим их разместить. Образец кода:

Прочтите руководство здесь

Вы можете добавить элемент управления Image в наложение и указать его источник на изображение булавки, которое вы хотите построить. Надеюсь, это поможет

person siddhant    schedule 25.05.2015

Можешь попробовать..

     BitmapImage myImage1;
     myImage1 = new BitmapImage(new Uri("/Assets/Images/pushpin-google-hi.png", UriKind.RelativeOrAbsolute));
     var image = new Image();
     image.Width = 50;
     image.Height = 50;
     image.Opacity = 100;
     image.Source = myImage1;

     var mapOverlay = new MapOverlay();
     mapOverlay.Content = image;
     mapOverlay.GeoCoordinate = new GeoCoordinate(lats, lons);
     var mapLayer = new MapLayer();
     mapLayer.Add(mapOverlay);
     MyMap.Layers.Add(mapLayer);
     MyMap.SetView(new GeoCoordinate(lats, lons), 16);
person Dipak Chhag    schedule 25.05.2015