2011-08-01 33 views
5

Làm thế nào để bạn thêm dấu "bạn đang ở đây" vào điều khiển Bản đồ Bing? Trên điện thoại, điều này được biểu diễn dưới dạng vòng tròn trong một hình vuông và sau đó có một vòng tròn bên ngoài thể hiện độ chính xác của vị trí.
Có vẻ như bạn có thể làm điều đó bằng đinh ghim và hình đa giác nhưng tôi hy vọng có một cách dễ dàng/tốt hơnLàm thế nào để bạn thêm điểm đánh dấu "bạn đang ở đây" vào Điều khiển Bản đồ Bing

Trả lời

4

Bạn có thể sử dụng lớp GeoCoordinateWatcher, cung cấp vị trí hiện tại của bạn và sau đó thêm một đinh ghim đơn giản . Tôi không nghĩ rằng đinh ghim là một lựa chọn tồi và/hoặc một khó khăn để sử dụng.


GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(); 

GeoCoordinate loc = watcher.Position.Location; 

if (loc.IsUnknown == true) 
{ 
    // Cannot retrieve the GPS position 
    return; 
} 

MyBingMap.SetView(loc, 17); 

MapLayer pushPinLayer = new MapLayer(); 

MyBingMap.Children.Add(pushPinLayer); 

Pushpin p = new Pushpin(); 

p.Content = "YOU ARE HERE"; 
p.Location = loc; 

pushPinLayer.AddChild(p, loc, PositionOrigin.BottomLeft);  
2

Bạn đã hỏi hai câu hỏi và Tuco đã cung cấp cho bạn câu trả lời đúng cho câu hỏi đầu tiên: cách thêm đinh ghim. Đây là câu trả lời cho câu hỏi thứ hai của bạn: cách tạo kiểu cho nó.

Để có được đinh ghim trông giống như một chấm màu vàng trong một viên kim cương màu đen với một hình nimbus màu trắng, bạn cần xác định kiểu này và áp dụng nó cho đinh ghim. Tôi cũng có thể cho bạn biết làm thế nào để tạo kiểu cho những con số màu trắng tập trung vào một vòng tròn màu đen với một cái nimbus màu trắng, nhưng sau đó tôi phải giết bạn.

xmlns:m="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" 

<Style x:Key="CurrentLocationPushpinStyle" TargetType="m:Pushpin"> 
    <Setter Property="BorderBrush" Value="#FFF4F4F5" /> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate> 
     <Grid> 
      <Rectangle Fill="Black" Height="25" Stroke="White" StrokeThickness="2" Width="25" RenderTransformOrigin="0.5,0.5"> 
      <Rectangle.RenderTransform> 
       <CompositeTransform Rotation="45" TranslateX="-10" TranslateY="11"/> 
      </Rectangle.RenderTransform> 
      </Rectangle> 
      <Ellipse Fill="Yellow" Height="11" Stroke="Yellow" Width="11"> 
      <Ellipse.RenderTransform> 
       <CompositeTransform TranslateX="-10" TranslateY="11"/> 
      </Ellipse.RenderTransform> 
      </Ellipse> 
     </Grid> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

Dấu chấm màu vàng là soooo năm ngoái. Mango sử dụng một chấm màu xanh.

+0

Cảm ơn, tôi nghĩ nó sử dụng dấu chấm màu của mỏ chủ đề của bạn hiện là màu xanh lá cây –

+0

Dấu chấm màu xanh lá cây là Mango beta 2. Tôi có chấm màu xanh lá cây bây giờ nhưng tôi sử dụng chủ đề màu xanh lam. –

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