Angular.js googleMap API json Uncaught SyntaxError: Unexpected token :
Angular.js googleMap API json Uncaught SyntaxError: Unexpected token :
我把之前的所有帖子都改红了:
* 我补充说:&callback=JSON_CALLBACK
* 我也试过简单的 $http.get 但它导致:'Access-Control-Allow-Origin'
* 我还尝试将 jsonpCallbackParam 定义为 json_callback' 从 callback 并添加 format: 'jsonp'
*还尝试阅读有关 $sce.trustAsResourceUrl(url) 的文档(嗯,我不太了解 :-(
在 F12 -> source 上,我看到返回了所需的数据,但在控制台日志上我得到 Uncaught SyntaxError: Unexpected token 。
请指教
var autoJsonpUrl = 'https://maps.googleapis.com/maps/api/distancematrix/json?region=il&origins=tel-aviv&destinations=jerusalem&key=AIzaSyD3xhn92KwStkZAg-rZueAFI1LooRLpND0' + '&callback=JSON_CALLBACK';
var options =
{
jsonpCallbackParam: 'json_callback',
cache: false
};
$http.jsonp(autoJsonpUrl, options).then(function (response) {
console.log(response);
});
端点 http://maps.googleapis.com/maps/api/distancematrix/
不支持 JSONP
,您可以考虑使用 Google Maps JavaScript API,如下所示:
angular.module('mapApp', [])
.controller("mapCtrl", function ($scope, $http) {
$scope.routeInfo = null;
var distanceMatrix = new google.maps.DistanceMatrixService();
var distanceRequest = { region: "il", origins: ["tel-aviv"], destinations: ["jerusalem"], travelMode: google.maps.TravelMode.DRIVING, unitSystem: google.maps.UnitSystem.METRIC};
distanceMatrix.getDistanceMatrix(distanceRequest, function (response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
console.log('An error occured: ' + status);
}
else {
$scope.$apply(function(){
$scope.routeInfo = response;
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<script src="https://maps.google.com/maps/api/js"></script>
<script src="app.js"></script>
<div ng-app="mapApp" ng-controller="mapCtrl">
<pre>{{routeInfo | json}}</pre>
</div>
我把之前的所有帖子都改红了: * 我补充说:&callback=JSON_CALLBACK * 我也试过简单的 $http.get 但它导致:'Access-Control-Allow-Origin' * 我还尝试将 jsonpCallbackParam 定义为 json_callback' 从 callback 并添加 format: 'jsonp' *还尝试阅读有关 $sce.trustAsResourceUrl(url) 的文档(嗯,我不太了解 :-( 在 F12 -> source 上,我看到返回了所需的数据,但在控制台日志上我得到 Uncaught SyntaxError: Unexpected token 。
请指教
var autoJsonpUrl = 'https://maps.googleapis.com/maps/api/distancematrix/json?region=il&origins=tel-aviv&destinations=jerusalem&key=AIzaSyD3xhn92KwStkZAg-rZueAFI1LooRLpND0' + '&callback=JSON_CALLBACK';
var options =
{
jsonpCallbackParam: 'json_callback',
cache: false
};
$http.jsonp(autoJsonpUrl, options).then(function (response) {
console.log(response);
});
端点 http://maps.googleapis.com/maps/api/distancematrix/
不支持 JSONP
,您可以考虑使用 Google Maps JavaScript API,如下所示:
angular.module('mapApp', [])
.controller("mapCtrl", function ($scope, $http) {
$scope.routeInfo = null;
var distanceMatrix = new google.maps.DistanceMatrixService();
var distanceRequest = { region: "il", origins: ["tel-aviv"], destinations: ["jerusalem"], travelMode: google.maps.TravelMode.DRIVING, unitSystem: google.maps.UnitSystem.METRIC};
distanceMatrix.getDistanceMatrix(distanceRequest, function (response, status) {
if (status != google.maps.DistanceMatrixStatus.OK) {
console.log('An error occured: ' + status);
}
else {
$scope.$apply(function(){
$scope.routeInfo = response;
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<script src="https://maps.google.com/maps/api/js"></script>
<script src="app.js"></script>
<div ng-app="mapApp" ng-controller="mapCtrl">
<pre>{{routeInfo | json}}</pre>
</div>