0

我正在尝试使用 Openlayers 3 的地理定位服务来映射用户的移动并根据距离收集坐标,然后提供将显示在地图上的测量值或多边形形状。

我已经进行了大量研究,但没有发现任何可以真正让我开始朝着最终目标迈进的东西。这对 OpenLayers 3 可行吗?是否已经内置了一些我可以使用的东西,或者我必须使用 OpenLayers 3 组件从头开始构建它。

我目前的代码只是通过浏览器打开 OpenLayers 位置服务并跟踪位置。

   new ol.Geolocation({
                projection: mapObj.getView().getProjection(),
                tracking: true,
                trackingOptions: {
                    enableHighAccuracy: true
                }
            })
                .on('change', function () {
                    geoLocationPosition = this.getPosition();
                    geoLocationHeading = this.getHeading() || 0;


             mapObj.getView().setCenter(geoLocationPosition);
                    var trackerStyle = new ol.style.Style({
                        stroke: new ol.style.Stroke({
                            color: '#383838',
                            width: 1
                        }),
                        fill: new ol.style.Fill({
                            color: '#319FD3'
                        })
                    });
                    geoLocationCircle.setStyle(trackerStyle);
                    geoLocationCircle.setGeometry(
                        new ol.geom.Circle(geoLocationPosition, 5)
                    );


                })



            };

任何帮助引导我朝着正确的方向表示赞赏!

4

1 回答 1

1

您可以查看ol-ext交互 GeolocationDraw,它结合了地理定位和绘图交互来跟踪位置。 https://viglino.github.io/ol-ext/examples/mobile/map.interaction.geolocationdraw.html

这是文档:http: //viglino.github.io/ol-ext/doc/doc-pages/ol.interaction.GeolocationDraw.html

于 2018-03-21T11:35:09.137 回答