Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图,传递地图到功能_Javascript_Google Maps - Fatal编程技术网

Javascript 谷歌地图,传递地图到功能

Javascript 谷歌地图,传递地图到功能,javascript,google-maps,Javascript,Google Maps,我正试图搬到地图上的第一个市场,但我无法让它工作 首先,我将标记存储在一个数组中,此时我只需要存储第一个,稍后我将创建整个逻辑 代码如下: var geocoder; var map; var markersArray = []; //Initialization function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 16,

我正试图搬到地图上的第一个市场,但我无法让它工作

首先,我将标记存储在一个数组中,此时我只需要存储第一个,稍后我将创建整个逻辑

代码如下:

 var geocoder;
   var map;
   var markersArray = [];

 //Initialization
 function initMap() {

   var map = new google.maps.Map(document.getElementById('map'), {
     zoom: 16,
     center: {lat: 14.601313, lng: -90.519114},
   });

   map.addListener('click', function(e) {
     placeMarkerAndPanTo(e.latLng, map);
   });

 }

 //Add marker function
 function placeMarkerAndPanTo(latLng, map) {
      marker = new google.maps.Marker({
     position: latLng,
     map: map
   });
    markersArray.push(latLng);
    map.panTo(latLng);
 }

 //Button: click move to the very first marker
 $(document).ready(function(){
     $('#MyButton').click(function(){
 alert("click");
       alert(markersArray[0].lat());
       map.panTo(markersArray[0].lat(),markersArray[0].lng());
     });
   });
修正:


map变量是initialize函数的局部变量,至少是包含实际map的函数。全局映射变量永远不会初始化

更改:

var map;
//Initialization
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
致:


在你的例子中,地图不是第一个标记的中心,这就是我需要的,也谢谢你的建议。当我在地图上创建多个标记时,按钮必须将地图移动到屏幕中心的第一个标记处。您的代码中有错误。map.panTo函数将一个google.maps.LatLng作为参数,而不是两个数字。我尝试了几种方法,但运气不佳。对于数组本身,给出这个格式,12.32323,-13.0099877,我尝试使用这个值,分割这个值,但我无法使它工作。
var map;
//Initialization
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
var map;
//Initialization
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {