Могу ли я связать местоположение карты Google со ссылкой на javascript? [Дубликат]

Проверьте это:

  public static void main (String [] args) {String input = null;  int number = 0;  try {BufferedReader bufferedReader = new BufferedReader (новый InputStreamReader (System.in));  input = bufferedReader.readLine ();  number = Integer.parseInt (ввод);  } catch (NumberFormatException ex) {System.out.println («Не номер!»);  } catch (IOException e) {e.printStackTrace ();  }}  
25
задан taormania 2 October 2012 в 23:24
поделиться

2 ответа

Ваша проблема в том, что в moveToLocation вы используете document.getElementById, чтобы попытаться получить объект Map, но это только дает вам HTMLDivElement, а не элемент google.maps.Map, который вы ожидаете. Таким образом, ваша переменная map не имеет функции panTo, поэтому она не работает. То, что вам нужно, - это белка map где-то куда-то, и она должна работать так, как планировалось. Вы можете просто использовать глобальную переменную следующим образом:

var map;      // global variable

function initialize() {
    var mapOptions = {
        center: new google.maps.LatLng(0, 0),
        zoom: 4,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    // assigning to global variable:
    map = new google.maps.Map(document.getElementById("map_canvas"),
        mapOptions);
}

function moveToLocation(lat, lng){
    var center = new google.maps.LatLng(lat, lng);
    // using global variable:
    map.panTo(center);
}

См. Рабочий jsFiddle здесь: http://jsfiddle.net/fqt7L/1/

57
ответ дан Ethan Brown 15 August 2018 в 19:08
поделиться

Отображать API Карт Google динамически, извлекать данные в базе данных, чтобы отображать место, lat, long и показывать маркер карты в центре с помощью AngularJS. Выполнено Сурешаном ...

$(function() {
    $http.get('school/transport/scroute/viewRoute?scRouteId=' + scRouteId).success(function(data) {
        console.log(data);

        for (var i = 0; i < data.viewRoute.length; i++) {
            $scope.view = [];
            $scope.view.push(data.viewRoute[i].stoppingName, data.viewRoute[i].latitude, data.viewRoute[i].longitude);
            $scope.locData.push($scope.view);
        }            

        var locations = $scope.locData;
        var map = new google.maps.Map(document.getElementById('map'), {                    
            mapTypeId : google.maps.MapTypeId.ROADMAP
        });
        var infowindow = new google.maps.InfoWindow();
        var bounds = new google.maps.LatLngBounds();
        var marker, j;

        for (j = 0; j < locations.length; j++) {
            marker = new google.maps.Marker({
                position : new google.maps.LatLng(locations[j][1], locations[j][2]),
                map : map
            });

            google.maps.event.addListener(marker, 'click', (function(marker, j) {
                bounds.extend(marker.position);
                return function() {
                    infowindow.setContent(locations[j][0]); 
                    infowindow.open(map, marker);
                    map.setZoom(map.getZoom() + 1);
                    map.setCenter(marker.getPosition());
                }
            })(marker, j));
        };
        map.fitBounds(bounds);
    });
});
0
ответ дан MultiplyByZer0 15 August 2018 в 19:08
поделиться
  • 1
    Это 4-летний вопрос с принятым ответом. – Ollaw 20 May 2017 в 13:44
Другие вопросы по тегам:

Похожие вопросы: