геолокация javascript и googlemaps - PullRequest
0 голосов
/ 07 мая 2010

Я надеюсь, что кто-то может помочь мне с тем, что я чувствую, это простой ответ, но я просто не могу заставить его работать.

Я пытаюсь поймать геолокации в долгое и длинное времяи поместите его в Google Maps API

Пока у меня есть

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

на

var request = {
       origin: myLat,myLong
       destination: 'deleware',
       travelMode: google.maps.DirectionsTravelMode.DRIVING
   };

Имеет ли это смысл ..?

У меня сейчасСвинья с этим, и, поскольку я не являюсь разработчиком JS, то, как мне кажется, должно быть простым кусочком кодирования, с которым я проигрываю битву ..

Любые мысли ..?

ура Дуглас за быстрый ответ.

Я нашел этот пример веб-сайта из предыдущего вопроса, который проливает немного света.site is http://npdoty.name/location/

Его пример выглядит следующим образом:

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

};

большое спасибо

1 Ответ

0 голосов
/ 07 мая 2010

Одной из причин, которая может вызывать проблемы, является способ передачи переменных myLat и myLong.

Значение, передаваемое в origin, должно быть объектом LatLng.

т.е.

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
}

Обратите внимание на запятые после каждой строки. Это нарушает ваш пример из-за того, что вы поместили свое в исходное значение, что приводит к путанице в свойстве.

Я буду продолжать смотреть на это, но, надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...