2010-01-29 25 views

Trả lời

21

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

Face To Face SoftwareYinYangMoney

+0

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

+0

Các sự kiện được nối vào lúc bắt đầu Bước 6. –

Các vấn đề liên quan