javascript地理定位和谷歌地图

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);

我希望有人能帮我找到一个简单的答案,但我就是做不到

我试图捕获地理位置的lat和long,并将其放入GoogleMapsAPI中

到目前为止我有

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
}