Cos*_*ica 9 mapkit ios dart flutter
我们的 Flutter 应用程序使用 Google 地图(如果可用)或使用本地浏览器显示多个位置。
虽然我们之前已经为 iOS 上传了一个被苹果接受并成功发布在 App Store 的二进制代码,但现在我们添加了更多位置并因此尝试发布新版本,苹果拒绝了我们的二进制文件,并表示它必须使用“Apple Maps”而不是任何以“G”开头的东西,比如谷歌......
拒绝消息如下:
您的应用程序的位置功能未与内置地图功能集成,这会将用户限制为第三方地图应用程序。
下一步
要解决此问题,请修改您的应用程序,让用户可以选择启动本机 Apple Maps 应用程序。
我发现存在一些关于名为MapKit JS的 Javascript 库的文档,它正好用于与Apple Maps交互的目的:https : //developer.apple.com/maps/mapkitjs/
<script src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script>
<script>
mapkit.init({
authorizationCallback: function(done) {
var xhr = new XMLHttpRequest();
xhr.open("GET", "/services/jwt");
xhr.addEventListener("load", function() {
done(this.responseText);
});
xhr.send();
}
});
var Cupertino = new mapkit.CoordinateRegion(
new mapkit.Coordinate(37.3316850890998, -122.030067374026),
new mapkit.CoordinateSpan(0.167647972, 0.354985255)
);
var map = new mapkit.Map("map");
map.region = Cupertino;
</script>
Run Code Online (Sandbox Code Playgroud)
尽管如此,对于我们的Flutter 应用程序,我真的可以使用一些帮助,而不是如何使用DART而不是 JAVA与这个MapKit JS连接。
非常感谢您的帮助!
丹尼尔
首先,安装url_launcher插件
其次,在 Info.plist 中添加以下代码:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
Run Code Online (Sandbox Code Playgroud)
第三:
var urlAppleMaps = 'https://maps.apple.com/?q=$lat,$lng';
if (await canLaunch(urlAppleMaps)) {
await launch(urlAppleMaps);
} else {
throw 'Could not launch $url';
}
Run Code Online (Sandbox Code Playgroud)
我们可以这样使用它:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以尝试使用地图启动器插件来根据平台启动苹果/谷歌地图
import 'dart:io';
import 'package:map_launcher/map_launcher.dart';
if (Platform.isIOS) {
await MapLauncher.launchMap(
mapType: MapType.apple,
coords: Coords(31.233568, 121.505504),
title: "Shanghai Tower",
description: "Asia's tallest building",
);
} else {
await MapLauncher.launchMap(
mapType: MapType.google,
coords: Coords(31.233568, 121.505504),
title: "Shanghai Tower",
description: "Asia's tallest building",
);
}
Run Code Online (Sandbox Code Playgroud)
小智 3
只是一个想法,但也许您可以尝试使用url_launch 插件按照此处给出的苹果地图 url 模式中给出的模式启动 url: https: //developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/MapLinks/ MapLinks.html#//apple_ref/doc/uid/TP40007899-CH5-SW1
| 归档时间: |
|
| 查看次数: |
7296 次 |
| 最近记录: |