konnte ich meine Silverlight Bing Karte akzeptiert Mousclicks machen und wandelt sie in Pushpins in C#. Jetzt möchte ich einen Text neben dem PushPin als eine Beschreibung anzeigen, die erscheint, wenn die Maus über den Pin geht, ich habe keine Ahnung, wie das geht. Was sind die Methoden, die es mir ermöglichen, das zu tun?Silverlight - Hinzufügen von Text PushPin in Bing Maps über C#
Dies ist der C# -Code:
public partial class MainPage : UserControl
{ privaten MapLayer m_PushpinLayer;
public MainPage()
{
InitializeComponent();
base.Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs e)
{
base.Loaded -= OnLoaded;
m_PushpinLayer = new MapLayer();
x_Map.Children.Add(m_PushpinLayer);
x_Map.MouseClick += OnMouseClick;
}
private void AddPushpin(double latitude, double longitude)
{
Pushpin pushpin = new Pushpin();
pushpin.MouseEnter += OnMouseEnter;
pushpin.MouseLeave += OnMouseLeave;
m_PushpinLayer.AddChild(pushpin, new Location(latitude, longitude), PositionOrigin.BottomCenter);
}
private void OnMouseClick(object sender, MapMouseEventArgs e)
{
Point clickLocation = e.ViewportPoint;
Location location = x_Map.ViewportPointToLocation(clickLocation);
AddPushpin(location.Latitude, location.Longitude);
}
private void OnMouseLeave(object sender, MouseEventArgs e)
{
Pushpin pushpin = sender as Pushpin;
// remove the pushpin transform when mouse leaves
pushpin.RenderTransform = null;
}
private void OnMouseEnter(object sender, MouseEventArgs e)
{
Pushpin pushpin = sender as Pushpin;
// scaling will shrink (less than 1) or enlarge (greater than 1) source element
ScaleTransform st = new ScaleTransform();
st.ScaleX = 1.4;
st.ScaleY = 1.4;
// set center of scaling to center of pushpin
st.CenterX = (pushpin as FrameworkElement).Height/2;
st.CenterY = (pushpin as FrameworkElement).Height/2;
pushpin.RenderTransform = st;
}
}
Dank Jim .. Das war sehr hilfreich :) Es hat nicht funktioniert zuerst .. Bis ich das Raster geändert.Fügen Sie zu grid.Childre n.Add ... Danke nochmal! – Morano88