MapKit JS-如何获取我的当前位置

时间:2019-05-30 22:32:27

标签: javascript mapkit apple-maps

我正在尝试使用MapKit JS在Apple Maps上获取当前位置,但是我不确定该怎么做。以下是我必须手动加载坐标的代码。但是我需要有代码来自动识别我的当前坐标并将其显示在Apple Map上。

 <!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>

1 个答案:

答案 0 :(得分:1)

navigator.geolocation.getCurrentPosition(function(position){
    mylat=position.coords.latitude;
    mylng=position.coords.longitude;
    map.setCenterAnimated(new mapkit.Coordinate(mylat, mylng), true);
});

澄清要求: 上面的代码利用了HTML5 Geolocation API。一旦用户允许访问其位置并对其进行检索,我们便将坐标传递到mapkit元素以设置为中心。