0

ユーザーのジオロケーションの近くにあるすべての美術館を表示したいと考えています。init の latLng を user_lat_long に置き換えようとすると問題が発生します。init でアラートを使用すると、何らかの理由で user_lat_long 値が定義されません。私が間違っていることを説明してもらえますか?私はまだJSの初心者です。ありがとう!

function init() {
  var latLng = new google.maps.LatLng(44.43, 26.11);
  Demo.map = new google.maps.Map(Demo.mapContainer, {
    zoom: 13,
    center: latLng,
    mapTypeId: google.maps.MapTypeId.ROADMAP});
    var request = {
      location: latLng,
      radius: 50000,
      types: ['museum']
    };
    infowindow = new google.maps.InfoWindow();
    var service = new google.maps.places.PlacesService(Demo.map);
    service.nearbySearch(request, function (results, status) {
        if (status == google.maps.places.PlacesServiceStatus.OK) {
          for (var i = 0; i < results.length; i++) {
            {
                 var placeLoc = results[i].geometry.location;
                 var marker = new google.maps.Marker({
                   map: Demo.map,
                   position: placeLoc
                 });

                 google.maps.event.addListener(marker, 'click', function() {
                   infowindow.setContent(restults[i].name);
                   infowindow.open(map, this);
                 });
               }
          }
        }
      });

 }

google.maps.event.addDomListener(window, 'load', init);
function pozitie() {
    if(navigator.geolocation) {

     navigator.geolocation.getCurrentPosition(currentPositionCallback);

     } else {

     alert('The browser does not support geolocation');

 }
function currentPositionCallback(position) {

user_lat_long = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

 var marker = new google.maps.Marker({
 position: user_lat_long,
 map: Demo.map,
 icon: image
 });

 Demo.map.setCenter(user_lat_long);
 Demo.map.setZoom(15);

 }
4

1 に答える 1