javascript地理定位和谷歌地图
我希望有人能帮我找到一个简单的答案,但我就是做不到 我试图捕获地理位置的lat和long,并将其放入GoogleMapsAPI中 到目前为止我有javascript地理定位和谷歌地图,javascript,geolocation,google-maps,Javascript,Geolocation,Google Maps,我希望有人能帮我找到一个简单的答案,但我就是做不到 我试图捕获地理位置的lat和long,并将其放入GoogleMapsAPI中 到目前为止我有 var myOptions = { zoom:7, trips:1, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map"), myOptions);
var myOptions = {
zoom:7,
trips:1,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay.setMap(map);
var request = {
origin: 'newyork'
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
这对我想要的很好。但是,我希望能够将origin
更改为使用
以下脚本来自google.maps.api
他们的代码是:
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
var placeMarker = new google.maps.Marker({
position: initialLocation,
map: map,
});
map.setCenter(initialLocation);
}, function() {
handleNoGeolocation(browserSupportFlag);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation();
}
function handleNoGeolocation() {
initialLocation = newyork;
map.setCenter(initialLocation);
}
我想拔出这根绳子
navigator.geolocation.getCurrentPosition(function(position) {
initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
并将其分配给两个变量,myLat
和myLong
。
然后我希望能够将我的原始脚本从
var request = {
origin: 'newyork'
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
到
这有意义吗
我现在有一个猪与它,因为我不是一个JS开发人员,这是我认为应该是一个简单的编码位,我失去了战斗
有什么想法吗
为道格拉斯的迅速回复干杯
我从前面的一个问题中找到了这个示例网站,这个问题透露了一些信息。网站是
他的例子如下:
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var marker = new GMarker(new GLatLng(lat, lon));
var jsMap = new GMap2(document.getElementById("jsMap"));
jsMap.addOverlay(marker);
},function(error){
//use error.code to determine what went wrong
});
我是否可以跳出这个例子,做一些类似的事情:
var request = {
navigator.geolocation.getCurrentPosition(function(position){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var myOrigin = new Gorigin(new GLatLng(lat, lon));
origin: myOrigin,
destination: 'deleware',
travelMode: google.maps.DirectionsTravelMode.DRIVING
})
非常感谢可能导致问题的原因之一是您试图传递myLat和myLong变量的方式 传递给origin的值必须是LatLng对象 i、 e 最大的问题是,为了传递值,需要将其格式化为:
var request = {
something: value,
somethingElse: anotherValue,
evenMore: bigValue
}
注意每行后面的逗号。这打断了示例,因为您将自己的放置在原点值中的位置,从而混淆了属性
我会继续看,但希望这有帮助。您需要移动
var请求={
在getCurrentPosition
回调中。您可能想了解回调是如何工作的,但基本上您将完成其他测试代码中的所有工作,作为获取用户位置的响应。祝您好运!
var myLat = "12.345";
var myLng = "54.321";
var myLatLng = new google.maps.LatLng(myLat, myLng);
var request = {
origing: myLatLng,
desitination...
etc.
}
var request = {
something: value,
somethingElse: anotherValue,
evenMore: bigValue
}