【问题标题】:Mapkit JS can't move map on mobile phoneMapkit JS无法在手机上移动地图
【发布时间】: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(); } });
  • 我在安卓手机上遇到了同样的问题。

标签: javascript maps mapkit coordinates apple-maps


【解决方案1】:

Mapkit JS 版本有时无法识别来自 Android 手机的触摸。您可以在 Chrome 开发者面板中对此进行测试。解决方法是更改​​您正在使用的版本。

截至撰写本文时,5.19.x 是支持 Android 的最新版本,而 5.20.0 目前不支持。

【讨论】:

  • 我发现了同样的,并且也将版本锁定为 5.19.x。
  • 这个版本还适合你吗?我尝试了几乎所有版本,现在我无法在任何版本的 Android 上移动地图。 Web + iOS 运行良好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 2022-10-19
  • 2012-10-16
  • 2022-11-24
  • 2017-07-02
  • 2016-02-20
相关资源
最近更新 更多