Google Maps Sdk 是否可以免费使用 net8 MAUI 以编程方式添加标记?

问题描述 投票:0回答:1

我们有一个适用于 android 和 ios 的 net 8 maui 移动应用程序,它使用 Microsoft.Maui.Controls.Maps。对于 Android 平台,我们有一个从 google 地图平台获取的 api 密钥。此 api 密钥受从密钥库 sha1 获取的指纹的限制。

在应用程序内部,我们以编程方式使用 maui 处理程序创建标记,用于用自定义图像替换默认的引脚形状。

搜索有关计费的信息,我找不到任何有关地图标记的有用信息,只能找到有关地图 ID 或路线的信息,这些是我们不使用的功能。

在官方文档(https://developers.google.com/maps/documentation/android-sdk/usage-and-billing#dynamic-street-view)上我找到了这条信息:

enter image description here

谁能更好地向我解释一下这个计费限额吗?

如果在毛伊岛使用本机谷歌地图 API 确实不是免费的,是否有免费或开源的替代方案,可以使用 openstreetmaps 或类似的选项来以编程方式添加标记?

提前致谢。

android google-maps maui openstreetmap
1个回答
0
投票

首先,你可以查看关于Android Google Map Marker的官方文档。并且可以通过调用平台原生代码来添加标记。

在 xaml 中为地图控件命名:

<Map x:Name="map" ..../>

并声明android平台方法:

#if ANDROID
        public void AddMrker(double x, double y,string title,string snippet)
        {
            var googlemap = map.Handler.PlatformView as Android.Gms.Maps.GoogleMap;
            var markeroption = new Android.Gms.Maps.Model.MarkerOptions();
            markeroption.SetIcon(Android.Gms.Maps.Model.BitmapDescriptorFactory.FromResource(Resource.Drawable.dotnet_bot));
            markeroption.SetPosition(x, y);
            markeroption.SetTitle(title);
            markeroption.SetSnippet(snippet);
            googlemap.AddMarker(markeroption);
        }
#endif

您可以将自定义图像文件复制到 \Resources\Images\pin.png 并将其 buid 操作设置为 MauiImage。并使用它:

markeroption.SetIcon(Android.Gms.Maps.Model.BitmapDescriptorFactory
                              .FromResource(Resource.Drawable.pin));

此外,您可以查看关于毛伊岛地图图钉的官方文档以及关于自定义地图图钉的案例。

© www.soinside.com 2019 - 2024. All rights reserved.