gpt4 book ai didi

javascript - 如何在谷歌地图上显示圆圈?

转载 作者:行者123 更新时间:2023-12-03 02:42:18 27 4
gpt4 key购买 nike

我知道这个问题经常被问到,但我在 Google map 上显示圆圈时遇到问题。

实际上,我的 map 上有标记。

import htmlTemplate from './activityDetails.html';

export default {

template: htmlTemplate,

require: {
parent: '^main'
},

bindings: {
activity: '<'
},

controller: function controller(MapsService, GeolocationService, NgMap, $log) {
'ngInject';

this.$onInit = () => {
// Load Google Maps API script
MapsService.loadGoogleApi().then(() => {
this.loaded = true;
NgMap.getMap().then((map) => {
this.map = map;
$log.info('activityDetails component init');
this.activity.lat = this.activity.location.coordinates[0];
this.activity.lng = this.activity.location.coordinates[1];
// Save each marker in its user object to facilitate hover
this.createMarkers();
// Set geolocation notification hook
this.setGeolocationHook();
});
});
};
}
};
<div class="block-map col m6">
<ng-map class="map" center="{{$ctrl.activity.lat}}, {{$ctrl.activity.lng}}" zoom="16">
<marker position="{{$ctrl.activity.lat}}, {{$ctrl.activity.lng}}"></marker>
</ng-map>
</div>

我的问题是:如何用圆圈替换我的标记?

非常感谢!

最佳答案

您可以按照官方 API 文档中的说明将“圈子”添加到 map 中。

https://developers.google.com/maps/documentation/javascript/examples/circle-simple

这部分很重要:

var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
radius: Math.sqrt(citymap[city].population) * 100
});

这非常简单。

而不是 citymap[city].center您需要传递您的 lat/lang 对象,例如 {lat: 41.878, lng: -87.629} .

对于半径,您可以传递任何数值。在 map 演示中,他们使用了人口。

对于 NG-Map:

<shape name="circle" ng-repeat="circle in vm.circles" no-watcher="true"
stroke-color="#FF0000"
stroke-opacity="0.8"
stroke-weight="2"
fill-color="#FF0000"
fill-opacity="0.35"
center="{{circle.position}}"
radius="{{circle.radius}}">
</shape>

关于javascript - 如何在谷歌地图上显示圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48277304/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com