Tôi đang bắt đầu với điều khiển Bản đồ Bing của Silverlight. Làm cách nào để thêm một Đinh ghim vào bản đồ bằng C#?Silverlight - Thêm đinh ghim vào Bản đồ Bing qua C#
Cảm ơn bạn!
Tôi đang bắt đầu với điều khiển Bản đồ Bing của Silverlight. Làm cách nào để thêm một Đinh ghim vào bản đồ bằng C#?Silverlight - Thêm đinh ghim vào Bản đồ Bing qua C#
Cảm ơn bạn!
Unknown,
Đây là một bước-by-step bài để xây dựng một ứng dụng Silverlight hiển thị bản đồ Bing của Mỹ, và cho biết thêm một đinh ghim tại mỗi địa điểm nhấp vào. Và chỉ để cho vui, tôi đã thêm một số chức năng "di chuột" khi bạn duyệt qua các đinh ghim.
Bước 1: Tạo một ứng dụng Silverlight mẫu với Visual Studio (File/New Project/Silverlight Application)
Bước 2: Thêm hai tài liệu tham khảo Bing DLL cho dự án ứng dụng Silverlight
Folder: C:\Program Files\Bing Maps Silverlight Control\V1\Libraries\ File 1: Microsoft.Maps.MapControl.dll File 2: Microsoft.Maps.MapControl.Common.dll
Bước 3: chỉnh sửa MainPage.xaml, và thêm followin g namespace ở đầu trang:
xmlns:Maps="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
Bước 4: Chỉnh sửa MainPage.xaml, và đặt đoạn mã sau bên trong lưới của UserControl:
<Maps:Map x:Name="x_Map" Center="39.36830,-95.27340" ZoomLevel="4" />
Bước 5: Chỉnh sửa Mainpage. cs và thêm câu sau đây bằng cách sử dụng câu lệnh:
using Microsoft.Maps.MapControl;
Bước 6: Chỉnh sửa MainPage.cs, và thay thế các lớp Mainpage với đoạn mã sau:
public partial class MainPage : UserControl
{
private 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;
}
}
Bước 7: Xây dựng và Chạy đi!
Chúc mừng, Jim McCurdy
Tôi không nhìn thấy đinh ghim làm việc - làm thế nào để bạn treo lên các sự kiện? – Tim
Các sự kiện được nối vào lúc bắt đầu Bước 6. –