Mapkit JS无法在手机上移动地图
Posted
技术标签:
【中文标题】Mapkit JS无法在手机上移动地图【英文标题】:Mapkit JS can't move map on mobile phone 【发布时间】:2018-08-13 15:23:12 【问题描述】:我正在尝试将 Mapkit JS 用于地图。我的代码在桌面上运行良好。但是,在手机上进行测试时存在一个问题。似乎我无法用手指移动地图。在桌面上,我可以用鼠标在地图上移动。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script>
<style>
#map
width: 100%;
height: 400px;
</style>
</head>
<body>
<div id="map"></div>
<script>
mapkit.init(
authorizationCallback: function(done)
done("API KEY");
,
language: "en"
);
var map = new mapkit.Map('map',
showsMapTypeControl: false,
showsCompass: mapkit.FeatureVisibility.Hidden
)
var coordinateRegion = new mapkit.CoordinateRegion(
new mapkit.Coordinate(40.51415196691954, -74.43808765761719),
new mapkit.CoordinateSpan(1.234, 1.23423)
);
map.region = coordinateRegion;
</script>
</body>
</html>
【问题讨论】:
你有没有得到这个工作?我完全复制了您的代码,它确实允许我移动地图,至少在 iPhone 8 上是这样。我唯一更改的部分是 API 密钥检索,因为我使用的是短期密钥。我那部分的代码是:mapkit.init( authorizationCallback: function(done) var x=new XMLHttpRequest(); x.open("GET", "getToken.php"); x.addEventListener("load", function() done(this.responseText); ); xhr.send(); );
我在安卓手机上遇到了同样的问题。
【参考方案1】:
Mapkit JS 版本有时无法识别来自 android 手机的触摸。您可以在 Chrome 开发者面板中对此进行测试。解决方法是更改您正在使用的版本。
截至撰写本文时,5.19.x 是支持 Android 的最新版本,而 5.20.0 目前不支持。
【讨论】:
我发现了同样的,并且也将版本锁定为 5.19.x。 这个版本还适合你吗?我尝试了几乎所有版本,现在我无法在任何版本的 Android 上移动地图。 Web + ios 运行良好。以上是关于Mapkit JS无法在手机上移动地图的主要内容,如果未能解决你的问题,请参考以下文章