API карт Google перестал отображать геолокацию после того, как я добавил Modal eventListener в маркер - PullRequest
0 голосов
/ 05 ноября 2019

Я добавил только Google Maps Script, потому что это единственная часть, которая не работает.

Моя проблема в том, что я не понимаю, почему карта не видит геолокации (мое местоположение). Код Visual Studio не отображает никаких ошибок и загрузок карты, но не содержит геолокации. К сожалению, я тоже не могу найти проблему.

<script>

 var myStyles =[
  {
    featureType: "poi",
    elementType: "labels",
    stylers: [
          { visibility: "off" }
    ]
}
];

function initMap() {
var artavenue = new google.maps.LatLng(59.441970, 24.784039),


myOptions = {
    clickableIcons: false,
      center: {lat:59.4370, lng:24.7536},
      zoom: 12,
      styles: myStyles,
      disableDefaultUI: true,
},


map = new google.maps.Map(document.getElementById('map-canvas'), myOptions),
infoWindow = new google.maps.InfoWindow;
markerA = new google.maps.Marker({

  position: artavenue,
  title: "Art Avenue ?️ ? ? ? ? ?",
  icon:'art-avenue.png',
  map: map

});
markerA.addListener('click', function(e) {
map.setCenter(this.position);
$(".modal-header .modal-title").text(this.title);
$(".modal-body #modalLatLng").text(this.position);
$('#myModal').modal('show');
 });
markerA = new google.maps.Marker({
  position: pointB,
  title: "Marker A",
  label: "A",
  map: map

});
 markerA.addListener('click', function(e) {
map.setCenter(this.position);
$(".modal-header .modal-title").text(this.title);
$(".modal-body #modalLatLng").text(this.position);
$('#myModal').modal('show');
});
}

Я думаю, что здесь что-то идет не так.

// Try HTML5 geolocation.

if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude,


 };



var marker = new google.maps.Marker({
position: pos,
map: map,
title: 'Your position',


});
map.setCenter(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());

});
} else {
// Browser doesn't support Geolocation

handleLocationError(false, infoWindow, map.getCenter());
}

function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
                   'Error: The Geolocation service failed.' :
                  'Error: Your browser doesn\'t support geolocation.');





infoWindow.open(map);
}

1 Ответ

0 голосов
/ 06 ноября 2019

Это было из-за того, что я запускал страницу в localhost, благодаря консоли Google Chrome inspect element я увидел текст, что теперь они не показывают ваше местоположение, даже если вы находитесь в localhost. Итак, поехали. Когда страница активна, все работает.

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