- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个简单的应用程序,它通过纬度和经度坐标显示您的当前位置并显示在 map 上。但目前它是静态的,必须手动指定坐标。应用完整代码:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" />
<link rel="stylesheet" type="text/css" href="css/main.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-leaflet-directive/0.10.0/angular-leaflet-directive.min.js"></script>
<script src="https://code.angularjs.org/1.2.28/angular-route.min.js"></script>
<script src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script>
</head>
<body ng-app="NearMeApp">
<div class="header">
<div class="container-fluid">
<h1 class="pull-left">NearMe</h1>
<a class="pull-right" href="#/about">About</a>
</div>
</div>
<div ng-view></div>
<script src="js/app.js"></script>
<script src="js/controllers/MainController.js"></script>
<script src="js/controllers/AboutController.js"></script>
</body>
</html>
main.css 位于 pasteBin
main.html
<div class="main">
<div class="container-fluid" id="map-canvas">
<leaflet center="mapCenter"></leaflet>
</div>
</div>
about.html
<div class="about">
<div class="container-fluid">
<h1>Meet NearMe</h1>
<h2>The best place to discover new places around you.</h2>
<a class="btn btn-primary" href="#/">Start exploring</a>
</div>
</div>
应用程序.js
var app = angular.module('NearMeApp', ['ngRoute', 'leaflet-directive']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
controller: 'MainController',
templateUrl: 'views/main.html'
})
.when('/about', {
controller: 'AboutController',
templateUrl: 'views/about.html'
})
.otherwise({
redirectTo: '/'
});
});
AboutController.js
app.controller('AboutController', ['$scope', function($scope) {
}]);
主 Controller .js
app.controller('MainController', ['$scope', function($scope) {
$scope.mapCenter = {
lat: 40.741934,
lng: -74.004897,
zoom: 17
};
}]);
如何从第三方服务动态获取纬度和经度?例如,来自 JSON IP API
听说可以通过某种方式获取JSON数据
app.factory('latlon', ['$http', function($http) {
return $http.get('http://ip-api.com/json')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);
但我不知道在我的情况下该做什么以及如何使用它。你能帮我解决这个问题吗?
问题已解决
主 Controller .js
app.controller('MainController', ['$scope', '$http', function($scope, $http) {
$scope.mapCenter = {};
$http.get('http://ip-api.com/json')
.success(function(data) {
$scope.mapCenter.lat = data.lat;
$scope.mapCenter.lng = data.lon;
$scope.mapCenter.zoom = 17;
});
}]);
最佳答案
不太确定“我如何确保数据(纬度和经度)是动态的”是什么意思,但您可以利用 HTML5 geolocation函数:navigator.geolocation.getCurrentPosition(成功[, error[, options]])
您应该将其抽象为一个单独的服务或工厂,以使其更易于重用并避免依赖于 window
angular.module('app', []).factory('GeolocationService', ['$q', '$window', function ($q, $window) {
function getPosition() {
var deferred = $q.defer();
if (!$window.navigator.geolocation) { // check if geolocation is supported
deferred.reject('Geolocation is not supported.');
return;
}
$window.navigator.geolocation.getCurrentPosition( // get the current position
function (position) { // ok
deferred.resolve(position);
},
function (err) { // error
deferred.reject(err);
});
return deferred.promise; // returned as a promise
}
return {
getCurrentPosition: getCurrentPosition
};
}]);
然后你可以像这样从你的 Controller 中调用它
geolocationSvc.getPosition().then(
function success(position){
$scope.mapCenter = {
lat: pos.coords.latitude,
lng: pos.coords.longitude,
zoom: 17
},
function error(err){
console.log('ERROR(' + err.code + '): ' + err.message);
});
请注意,此代码尚未经过实际测试,但应为您提供如何实现的概要。
关于javascript - AngularJS,传单。如何从第三方服务动态获取纬度和经度坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261023/
所以:我有以下函数,改编自在线找到的公式,它采用两个纬度/经度坐标并计算它们之间的距离(以英里为单位)(沿着球形地球): public static double distance (double l
我有一个给定点(经度、纬度),我想获取给定点 5 英里半径范围内的所有点范围? 最佳答案 我只是在这里猜测,但我认为您需要找到一种不同的方法。如果您尝试使用 Foursquare、Google map
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
我找到了一些代码,用于将纬度/经度转换为给定图像上的像素,反之亦然。我将其移植到 JavaScript,但在纬度上得到了不正确的返回值。我测试了原始的、未修改的代码,它给出了同样的不准确之处。下面是带
我正在考虑使用 rChart/LeafLet 为我所在县的房屋销售创建一个 Shiny 的应用程序。在任何给定时间,都有数百套房屋出售。想要为所有人绘制街道地址到地理位置(纬度/经度)的 map 并将
是否有任何方法(任何 API 或任何 URL)仅通过传递区号(邮政编码)来查找经纬度? 最佳答案 Google map 地理编码器将仅根据邮政编码进行搜索。 这是一个例子:(和一个 fiddle 来查
我正在尝试使用 openlayers 中的方形多边形来获取边界框。我需要从框中获取 North、South、West 和 East 值。现在我正在使用: var topleft = vectors.f
下面的代码将在 map 中添加一个标记并在警报中显示其纬度/经度。 var note = document.getElementById('note'); var datepick = documen
如何将地址或城市转换为纬度/经度?我可以从哪些商业机构“租用”这项服务?这将用于具有全时互联网访问的 Windows PC 上的商业桌面应用程序。 最佳答案 Google 有一个地理编码 API,对于
我的地理位置字符串为 25°9'37"N 55°13'28"E。使用 JavaScript Regex 我想从上面的字符串中提取 Lat 和 Lng。谢谢。 最佳答案 Your first row c
考虑在 map 上有一个圆,其中心为 GLatLng (A),半径 (r) 以米为单位。 如何计算B位置的GLatLng?假设r平行于赤道。 使用 GLatLng.distanceFrom() 方法在
我有 CLLocation 对象,其中包含用户的当前位置,并且对于可以倾斜的矩形的每个角,我有 4 个纬度/经度对。现在我想检查 CLLocation 坐标是否在该矩形内。 以下是矩形的坐标 #def
我正在尝试使用以下代码获取用户当前的纬度/经度: LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SER
我在这里不合时宜,所以如果我没有正确/清楚地问这个问题,请原谅我。 我有一张用户表,每个用户都有经纬度。 我收到一个联邦机构的查询,它提供了这样的多边形或圆形: 38.47,-120.14 38.34
我刚刚开始使用 python 的 BeautifulSoup 包进行抓取。在我的代码中,我得到以下汤对象 >>> soupObj [u'$(function(){SEAT.PG.initDialog(
目前我想通过JDBC将我的GPS经纬度发送到MYSQL。为了检索 GPS 纬度,我使用了下面的代码,并且在 GPSTracker 类中有 GPS 跟踪器代码。这将在任何时候按下按钮来 toast 纬度
我想根据输入的源地址和目标地址画一条路线。我需要根据地址获取纬度/日志才能在 android 中绘制 map 。那么我如何根据输入的地址获取纬度/日志。 Geocoder geoCoder = ne
如何在 android map 上显示我从服务器收到的纬度和经度。我实现了 google map V2 但不知道如何在 map 上显示 gps 坐标。经过大量研究,我来到这里,但无法找到一个合理的解决
我的 Controller 中有以下代码。 .controller('MapCtrl', ['$scope', function initialize() {
我也四处搜寻,但没有发现任何真正有帮助的东西。情况如下: 假设我对城市和天气预报有一个简单的关系。我们可以与纬度和经度联系起来,因此我们可以得到以下结果: 城市表: cityId | name
我是一名优秀的程序员,十分优秀!