Tôi đã có thể tạo bản đồ Bing màu bạc của mình chấp nhận Mousclicks và chuyển đổi chúng thành Pushpins trong C#. Bây giờ tôi muốn hiển thị một văn bản bên cạnh PushPin như là một mô tả xuất hiện khi con chuột đi qua các pin, tôi không có đầu mối làm thế nào để làm điều đó. Các phương pháp cho phép tôi làm điều này là gì?Silverlight - Thêm văn bản vào đinh ghim trong Bản đồ Bing qua C#
Đây là mã C#:
public partial class MainPage : UserControl
{ tin 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;
}
}
Cảm ơn Jim .. Điều đó rất hữu ích :) Nó không hoạt động lúc đầu .. Cho đến khi tôi thay đổi lưới.Thêm vào lưới.Childre n.Thêm ... Cảm ơn một lần nữa! – Morano88