我必须在我的离子应用程序中集成一个谷歌地图圈(对于android)。我从this链接安装了该插件。我按照所有步骤,但我有一个问题。当我调用map.addCircle()函数时,logcat返回一个错误“未捕获类型错误:未定义不是函数”。
如何解决此问题?
这是我的controller.js:
angular.module('starter', ['ionic'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
// Wait until the map is ready status.
});
})
.controller('MapCtrl', function($scope, $ionicLoading, $compile) {
var geocoder;
geocoder = new google.maps.Geocoder();
function initialise() {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
function onSuccess(position){
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$scope.latlng = myLatlng;
console.log($scope.latlng);
var mapOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
}
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
});
map.addCircle({
'center': myLatlng,
'radius': 300,
'strokeColor' : '#AA00FF',
'strokeWidth': 5,
'fillColor' : '#880000'
});
$scope.map = map;
}
function onError(error){
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
}
google.maps.event.addDomListener(window, 'load', initialise);
})
答案 0 :(得分:0)
使用this链接中的Angular-Google-Maps解决。
安装ng-map.js后,您可以使用以下代码从html页面创建圆圈:
<shape name="circle" stroke-color="#FF0000" stroke-opacity="0.8" stroke-weight="2" fill-color="#FF0000" fill-opacity="0.35" center="<someCoordinates>" radius="10">
</shape>