2013-07-27 2 views
5

मैं एक ऐप्स जो मैं एक लिंक http://themightyhedgehog.blogspot.de/2013/01/how-to-use-google-maps-in-your-own.html पीछा विंडोज फोन 8कैसे 8 एप्लिकेशन विंडोज फोन में गूगल मानचित्र जोड़ने के लिए

के लिए मानचित्र सेवा का उपयोग करता है और गूगल मानचित्र युक्त एक एप्लिकेशन को विकसित करने की कोशिश करता है विकसित कर रहा हूँ।

लेकिन मैं लाइन MapAppScope:BindingHelpers.TileSource="{Binding GoogleMap}"

और त्रुटि मुझे मिल गया पर Xaml में एक त्रुटि मिली हैं:

  1. BuildingHelpers सिल्वरलाइट में समर्थित नहीं है।
  2. अनुलग्नक संपत्ति 'टाइलसोर्स' 'बिल्डिंगहेल्पर' प्रकार में नहीं मिली थी।
  3. नेमस्पेस उपसर्ग "MapAppScope" परिभाषित नहीं किया गया है।

Xaml में:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
     <Microsoft_Phone_Controls_Maps:Map 
Name="MyMap" 
Grid.Column="1" 
LogoVisibility="Collapsed" 
d:LayoutOverrides="GridBox" 
      MapAppScope:BindingHelpers.TileSource="{Binding GoogleMap}" 
      Margin="0,0,0,2"> 
      <Microsoft_Phone_Controls_Maps:Map.Mode> 
       <MSPCMCore:MercatorMode/> 
      </Microsoft_Phone_Controls_Maps:Map.Mode> 
     </Microsoft_Phone_Controls_Maps:Map> 


    </Grid> 

.cs में:

namespace Google_Map_App 
{ 
    public enum GoogleType 
    { 
     Street = 'm', 
     Hybrid = 'y', 
     Satellite = 's', 
     Physical = 't', 
     PhysicalHybrid = 'p', 
     StreetOverlay = 'h', 
     WaterOverlay = 'r' 
    } 

    public class Google : TileSource 
    { 
     public Google() 
     { 
      MapType = GoogleType.Street; 
      UriFormat = @"http://mt{0}.google.com/vt/lyrs={1}&z={2}&x={3}&y={4}"; 
     } 

     public GoogleType MapType { get; set; } 

     public override Uri GetUri(int x, int y, int zoomLevel) 
     { 
      return new Uri(
       string.Format(UriFormat, (x % 2) + (2 * (y % 2)), 
       (char)MapType, zoomLevel, x, y)); 
     } 
    } 
    public static class BindingHelpers 
    { 
     //Used for binding a single TileSource object to a Bing Maps control 
     #region TileSourceProperty 

     // Name, Property type, type of object that hosts the property, method to call when anything changes 
     public static readonly DependencyProperty TileSourceProperty = 
      DependencyProperty.RegisterAttached("TileSource", typeof(TileSource), 
      typeof(BindingHelpers), new PropertyMetadata(SetTileSourceCallback)); 

     // Called when TileSource is retrieved 
     public static TileSource GetTileSource(DependencyObject obj) 
     { 
      return obj.GetValue(TileSourceProperty) as TileSource; 
     } 

     // Called when TileSource is set 
     public static void SetTileSource(DependencyObject obj, TileSource value) 
     { 
      obj.SetValue(TileSourceProperty, value); 
     } 

     //Called when TileSource is set 
     private static void SetTileSourceCallback(object sender, DependencyPropertyChangedEventArgs args) 
     { 

      var map = sender as Map; 
      var newSource = args.NewValue as TileSource; 
      if (newSource == null || map == null) return; 

      // Remove existing layer(s) 
      for (var i = map.Children.Count - 1; i >= 0; i--) 
      { 
       var tileLayer = map.Children[i] as MapTileLayer; 
       if (tileLayer != null) 
       { 
        map.Children.RemoveAt(i); 
       } 
      } 

      var newLayer = new MapTileLayer(); 
      newLayer.TileSources.Add(newSource); 
      map.Children.Add(newLayer); 
     } 

     #endregion 
    } 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 

      // Sample code to localize the ApplicationBar 
      //BuildLocalizedApplicationBar(); 
     } 


    } 
} 
+0

क्या आप वास्तविक कोड डाल सकते हैं? – Braiam

+0

मैंने अपनी पोस्ट संपादित की है, और कोड जोड़ा है। कृपया –

+0

पोस्ट करें क्या आप सही त्रुटि कोड भी पोस्ट कर सकते हैं? – Braiam

उत्तर

1

ध्यान दें कि बिंग मैप्स WP8 या Windows 8 नियंत्रण में गूगल मैप्स टाइल्स का उपयोग कर दोनों के उपयोग की शर्तों के खिलाफ है बिंग मैप्स और Google मैप्स एपीआई है। ऐसा करने वाले ऐप स्टोर में पाया गया कोई भी ऐप हटा दिया जाएगा।

+1

ठीक है यकीन है कि मैं इसका उपयोग नहीं करूंगा। बहुत महत्वपूर्ण जानकारी के लिए Thanx। –

+1

डर इमरान से डरो मत, वे कभी भी – Softlion

+3

नहीं पाएंगे। और हम ऐप्स को हटाते हैं :) – rbrundritt

संबंधित मुद्दे