Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 如何使用地图上的按钮(不在地图下方或上方)将地图居中到Google map API 3中的默认位置?_Javascript_Html_Css_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 如何使用地图上的按钮(不在地图下方或上方)将地图居中到Google map API 3中的默认位置?

Javascript 如何使用地图上的按钮(不在地图下方或上方)将地图居中到Google map API 3中的默认位置?,javascript,html,css,google-maps,google-maps-api-3,Javascript,Html,Css,Google Maps,Google Maps Api 3,首先,这不是一个重复的问题。关于堆栈溢出和其他站点的其他问题没有我想要的全部内容。我不希望iframe下面有按钮。 我希望在iframe右下角的地图上有一个像红色小圆圈一样的按钮 我制作了一把小提琴来让你理解这个问题。链接在问题的最后一部分 代码 HTML <div id="map"></div> <script> var map; var marker; var location1 = { lat: 34.0522, lng: -118.2437 };

首先,这不是一个重复的问题。关于堆栈溢出和其他站点的其他问题没有我想要的全部内容。我不希望iframe下面有按钮。

我希望在iframe右下角的地图上有一个像红色小圆圈一样的按钮

我制作了一把小提琴来让你理解这个问题。链接在问题的最后一部分

代码

HTML

<div id="map"></div>
<script>
var map;
var marker;
var location1 = {
lat: 34.0522,
lng: -118.2437
};

  function initMap() {
  var myOptions = {
  zoom: 13,
  center: location1,
  mapTypeId: google.maps.MapTypeId.ROADMAP
  };

map = new google.maps.Map(document.getElementById('map'), myOptions);

 marker = new google.maps.Marker({
  position: location1,
  map: map,
  title: 'Click to zoom'
});
  } 

 function changeCenter(center) {
  map.setCenter(center);
  marker.setPosition(center);
}

</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>

<button type="button" onclick="javascript:changeCenter(location1);">Location 1</button>
还有一件事没有发生——我将默认的缩放级别保持在13,现在当我放大3次或说缩小3次时,当我点击按钮时,我得到的默认位置的缩放位置是10或16,而不是原来的13。请帮我做这件事

@saravana只解决了我问题的一小部分。

这是我最新的小提琴


主要的事情还在那里-我想在地图上创建一个自定义按钮。请帮我解决这个问题

请将您的changecenter功能替换为以下代码

function changeCenter(center) {
    map.setCenter(center);
    map.setZoom(13); 
    marker.setPosition(center);
}
可以使用map.setZoom()函数设置缩放级别。干杯

更新:

请将您的html代码替换为fiddle中的以下代码

我们必须在谷歌地图中手动添加自定义按钮或图像。我希望这会有所帮助

<div id="map"></div>
<div><img src="http://www.clker.com/cliparts/X/9/P/m/2/g/transparent-red-circle-md.png" width="25px" style="position: fixed;z-index: 9999; right:10px; top:225px; float: right;" onclick="javascript:changeCenter(location1);"></div>
<script>
  var map;
  var marker;
  var location1 = {
    lat: 34.0522,
    lng: -118.2437
  };

  function initMap() {
    var myOptions = {
      zoom: 13,
      center: location1,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById('map'), myOptions);

     marker = new google.maps.Marker({
      position: location1,
      map: map,
      title: 'Click to zoom'
    });
      } 

  function changeCenter(center) {
      map.setCenter(center);
      map.setZoom(13);
      marker.setPosition(center);
    }

</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>

<button type="button" onclick="javascript:changeCenter(location1);">Location 1</button>

var映射;
var标记;
变量位置1={
纬度:34.0522,
液化天然气:-118.2437
};
函数initMap(){
变量myOptions={
缩放:13,
中心:地点1,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),myOptions);
marker=新的google.maps.marker({
位置:位置1,
地图:地图,
标题:“单击以缩放”
});
} 
功能更改中心(中心){
地图设置中心(中心);
map.setZoom(13);
标记器。设置位置(中心);
}
地点1

兄弟,你只解决了我问题的一小部分。主要的事情还在那里-我想在地图上创建一个自定义按钮。请帮帮我
<div id="map"></div>
<div><img src="http://www.clker.com/cliparts/X/9/P/m/2/g/transparent-red-circle-md.png" width="25px" style="position: fixed;z-index: 9999; right:10px; top:225px; float: right;" onclick="javascript:changeCenter(location1);"></div>
<script>
  var map;
  var marker;
  var location1 = {
    lat: 34.0522,
    lng: -118.2437
  };

  function initMap() {
    var myOptions = {
      zoom: 13,
      center: location1,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById('map'), myOptions);

     marker = new google.maps.Marker({
      position: location1,
      map: map,
      title: 'Click to zoom'
    });
      } 

  function changeCenter(center) {
      map.setCenter(center);
      map.setZoom(13);
      marker.setPosition(center);
    }

</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>

<button type="button" onclick="javascript:changeCenter(location1);">Location 1</button>