首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么google地图看起来是灰色的,而不是初始化缩放&当使用jQuery按钮改变缩放和地图上的中心时,效果很好

为什么google地图看起来是灰色的,而不是初始化缩放&当使用jQuery按钮改变缩放和地图上的中心时,效果很好
EN

Stack Overflow用户
提问于 2015-12-22 22:39:10
回答 1查看 987关注 0票数 0

我正在使用谷歌地图api来制作一个地图与自定义标记和按钮,以改变地图的中心和缩放。我有一个映射和infoWindow的全局变量。我的地图在初始化时显示为灰色,没有缩放控制。

控制台中没有显示任何错误消息。我有五个按钮叫做:亚洲,NorthAmerica,middleEast,newYork,newEngland。按钮可以改变地图的中心和缩放。但是,我希望地图从

代码语言:javascript
运行
复制
var mapOptions= {
    center: new google.maps.LatLng(38.423734,27.142826), 
    zoom: map.setZoom(4)
  };

我通过一个位置对象使用foreach循环来自定义地图上的标记和infoWindows。我也有一个功能来设置类型的制造者。效果很好。

代码语言:javascript
运行
复制
$(document).ready(function(){

var map, infoWindow;    

自定义标记类型的函数

代码语言:javascript
运行
复制
function initMap() {

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

var mapOptions = {
    center: new google.maps.LatLng(38.423734,27.142826), 
    zoom: map.setZoom(4)
  };

$("#asia").on('click', function () {
newLocation(37.566535,126.977969,5);
});
$("#northAmerica").on('click', function () {
newLocation(30.902225,-90.659180,4);
});
$("#middleEast").on('click', function () {
newLocation(38.423734,27.142826,4);
});
$("#newYork").on('click', function () {
newLocation(40.753159,-73.98936,12);
});
$("#newEngland").on('click', function () {
newLocation(42.292783,-71.304496,7);
});

'google.maps.event.addDomListener(window,'load',initMap);'是for循环添加自定义标记后的initMap函数的一部分。

在关闭initMap函数但仍在$(Document).ready中之后(函数(){ initMap被调用,函数newLocation被定义为google.maps.event.addDomListener(窗口,'load',initMap));

对于自定义标记的每个循环

对象的自定义标记位置和infoWindow内容

代码语言:javascript
运行
复制
function newLocation(newLat,newLng,newZoom) {
map.setCenter({
    lat : newLat,
    lng : newLng,
  }); 
map.setZoom(newZoom)
};

initMap();

});
EN

回答 1

Stack Overflow用户

发布于 2015-12-23 06:21:55

我得到了一个javasscript错误与您发布的initMap函数:Uncaught TypeError: map.setZoom is not a function在这一行:zoom: map.setZoom(4)

应该是:zoom: 4

代码片段:

代码语言:javascript
运行
复制
function initMap() {
  var mapOptions = {
    center: new google.maps.LatLng(38.423734, 27.142826),
    zoom: 4
  };

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

  $("#asia").on('click', function() {
    newLocation(37.566535, 126.977969, 5);
  });
  $("#northAmerica").on('click', function() {
    newLocation(30.902225, -90.659180, 4);
  });
  $("#middleEast").on('click', function() {
    newLocation(38.423734, 27.142826, 4);
  });
  $("#newYork").on('click', function() {
    newLocation(40.753159, -73.98936, 12);
  });
  $("#newEngland").on('click', function() {
    newLocation(42.292783, -71.304496, 7);
  });
}

google.maps.event.addDomListener(window, 'load', initMap);

function newLocation(newLat, newLng, newZoom) {
  map.setCenter({
    lat: newLat,
    lng: newLng,
  });
  map.setZoom(newZoom)
};
代码语言:javascript
运行
复制
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
代码语言:javascript
运行
复制
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="asia" value="asia" type="button" />
<input id="northAmerica" value="northAmerica" type="button" />
<input id="middleEast" value="middleEast" type="button" />
<input id="newYork" value="newYork" type="button" />
<input id="newEngland" value="newEngland" type="button" />
<div id="map"></div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34425618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档