我试图使用谷歌的方向服务显示一张地图,其中有原点、目的地和连接两者的蓝色方向线。然而,我试图使用watchPosition作为LAT/LNG的原产地。
到目前为止,一切都显示正确,除了绿色原点标记不移动,因为手表位置更新与新的LAT/LNG坐标。我想做的是可能的吗?或者我只需要创建第三个标记来跟随用户的坐标?
以下是我脚本中的内容:
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom:7,
center: new google.maps.LatLng(38.5815719, -121.4943996)
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
calcRoute();
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(<%= @order.origin_lat %>, <%= @order.origin_lng %>),
content: content
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
function calcRoute() {
if(navigator.geolocation) {
navigator.geolocation.watchPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var request = {
origin: pos,
destination: new google.maps.LatLng(<%= @order.user.latitude %>, <%= @order.user.longitude %>),
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
},
function() {
handleNoGeolocation(true);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
在移动web中,这看起来并不容易实现,所以我只创建了第三个根据用户位置移动的标记。
我对谷歌地图方向服务(api v3)有一个问题。我不知道如何指定起始和目标字符串。例如,对于请求: http://maps.googleapis.com/maps/api/js?sensor=false 或者 http://maps.googleapis.com/maps/api/directions/xml?sensor=false 服务器的响应为:未找到,即未找到路由, 但是,如果我将字符¨改
主要内容:定位用户的位置,浏览器支持,HTML5 - 使用地理定位,实例,处理错误和拒绝,实例,在地图中显示结果,实例,给定位置的信息,getCurrentPosition() 方法 - 返回数据,Geolocation 对象 - 其他有趣的方法,实例HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Inte
我使用OrientDB的非关系型数据库,我不知道如何查询地理位置准确。 OrientDB函数 但不理解价值观的意义。 距离函数: distance()-使用Haversine算法计算地球上两点之间的距离。坐标必须为度 例: 其中距离(x,y,52.20472,0.14056) 两个问题: X,Y和30个值是多少 谢谢
HTML5 Geolocation(地理定位)用于定位用户的位置。 定位用户的位置 HTML5 Geolocation API 用于获得用户的地理位置。 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。 浏览器支持 Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持Geolocation(地理定位). 注意: G
我有一个带有地理定位插件的cordova应用程序:https://github.com/apache/cordova-plugin-geolocation 我的很多用户报告说,我的应用程序中的地理定位速度很慢(他们所说的慢大约是6秒)。他们说当我们使用Waze时,需要2秒钟。。。 我在SO上也发现了这篇帖子:为什么HTML5地理定位比Android上的原生版本慢? 我已经在使用Cordova人行横
描述 (Description) watchPosition方法检索有关设备当前地理位置的定期更新。 该位置表示为一组地理坐标以及有关航向和速度的信息。 位置信息在Position对象中返回。 每次更新都会返回一个新的Position对象。 语法 (Syntax) 以下是此方法的语法 - watchPosition(showLocation, ErrorHandler, options); 参数