我花了很多时间试图解决这个问题。 我的应用程序上有一张地图,这张地图在加载后会加载实际位置。
由于某些原因,我的观众(使用Ionic Viewer)可以在我的本地设备和本地主机上运行,但是当我直接从Xcode在我的iPhone上测试时,地图不会加载。
如果我编译.apk并在android上测试它,地图也不会加载。
.controller('mapaCtrl', function($scope, $compile, $location) {
$scope.goPayment = function() {
$location.path('side-menu/history');
};
var myLatlng = new google.maps.LatLng(34.603711, -58.381585);
var mapOptions = {
center: myLatlng,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
navigator.geolocation.getCurrentPosition(function(pos) {
map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
var myLocation = new google.maps.Marker({
position: new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude),
map: map,
title: "My Location"
});
google.maps.event.addListener(myLocation, 'click', function() {
infowindow.open(map,myLocation);
});
});
var contentString = "<div><a ng-click='clickTest()'>Pagar Aqui!</a></div>";
var compiled = $compile(contentString)($scope);
var infowindow = new google.maps.InfoWindow({
content: compiled[0]
});
$scope.map = map;
$scope.clickTest = function() {
$location.path('side-menu/pay');
};
})
有任何线索吗?
答案 0 :(得分:1)
可能有一些因素会影响您应用的正常功能,请考虑以下因素:
尝试添加geoLocation权限,这是我发现的一篇文章,引导您完成整个过程:http://www.gajotres.net/using-cordova-geoloacation-api-with-google-maps-in-ionic-framework/
将地理位置代码包装到Ionic deviceready中也很重要 事件,执行将在没有它的情况下超时:
ionic.Platform.ready(function(){ //代码在这里 }
我不确定是否有必要再使用这些,但我知道Android版本可以验证AndroidManifest.xml中存在的权限:
<!-- Draws a hexagon by specifying the vertices of a polygon -->
<Polygon x:Name="polygon"
Points="0,50 0,120 50,170 120,170 170,120 170,50 120,0 50,0"
Margin="25, 0, 25, 25"
Stroke="Red"
RenderTransformOrigin="0.5,0.5">
<Polygon.RenderTransform>
<CompositeTransform />
</Polygon.RenderTransform>
<Polygon.Fill>
<ImageBrush x:Name="imageBrush"
ImageSource="Assets/image1.jpg"
Stretch="Fill">
</ImageBrush>
</Polygon.Fill>
</Polygon>
可能有一些iOS等价物你可以搜索,但我认为安装插件应该可以独立工作。
-