【问题标题】:Xamarin Maps Shows Gray TilesXamarin Maps 显示灰色瓷砖
【发布时间】:2018-04-17 09:32:26
【问题描述】:

我是 xamarin 的新手,正在研究基础知识以掌握它。

一直在关注本教程: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/map

如下所示,我可以请求,但我仍然有灰色瓷砖。什么可能导致这个?我的 api 密钥有问题吗?

public partial class MainPage : ContentPage
{

    private StackLayout stackLayout = new StackLayout();
    private Map map;
    public MainPage()
    {
        InitializeComponent();

        map = new Map(
        MapSpan.FromCenterAndRadius(
                new Position(35.184657, 33.353528), Distance.FromMiles(0.3)))
        {
            IsShowingUser = true,
            HeightRequest = 100,
            WidthRequest = 960,
            VerticalOptions = LayoutOptions.FillAndExpand
        };



        stackLayout.VerticalOptions = LayoutOptions.FillAndExpand;
        stackLayout.HorizontalOptions = LayoutOptions.FillAndExpand;

        stackLayout.Children.Add(map);

        Content = stackLayout;
    }

调试输出

04-17 09:36:29.242 E/GoogleCertificates( 3601): Failed to load 

com.google.android.gms.googlecertificates
04-17 09:36:29.242 E/GoogleCertificates( 3601): qq: No acceptable module found. Local version is 0 and remote version is 0.
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at com.google.android.gms.dynamite.DynamiteModule.a(:com.google.android.gms.DynamiteModulesB@11509470:11)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at in.a(:com.google.android.gms.DynamiteModulesB@11509470:12)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at in.a(:com.google.android.gms.DynamiteModulesB@11509470:31)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at in.b(:com.google.android.gms.DynamiteModulesB@11509470:30)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at iy.a(:com.google.android.gms.DynamiteModulesB@11509470:35)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at iy.a(:com.google.android.gms.DynamiteModulesB@11509470:20)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at com.google.maps.api.android.lib6.impl.ev.a(:com.google.android.gms.DynamiteModulesB@11509470:143)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at com.google.maps.api.android.lib6.impl.fb.run(:com.google.android.gms.DynamiteModulesB@11509470:28)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
04-17 09:36:29.242 E/GoogleCertificates( 3601):     at java.lang.Thread.run(Thread.java:761)

【问题讨论】:

    标签: google-maps xamarin.forms xamarin.android


    【解决方案1】:

    实际上,我认为如果您的 API 密钥不正确,您将无法导航到地图页面。我在一两个星期前遇到了这个问题。查看应用程序输出,您应该会看到一条有关“正在联系 google 地图服务器”的消息

    【讨论】:

    • api key 不好是什么意思?我要重新创建它吗?
    • 您能看到来自 Google 地图组件的消息输出吗?
    • 是的,我已经相应地更新了问题。它说无法加载 com.google.android.gms.googlecertificates
    • 如果您看到 Google 徽标但地图上没有图块,这通常表明 Google Maps API 的授权出现问题。您的输出也这么说:01-05 08:50:33.741 E/Google Maps Android API(8860):授权失败。请参阅developers.google.com/maps/documentation/android-api/start了解如何正确设置地图。
    • 要解决这个问题,请删除应用程序,使用正确的密钥重建并重新部署。它现在应该可以按预期工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 2013-08-01
    • 2013-06-02
    • 2014-05-22
    相关资源
    最近更新 更多