当前位置: 首页 > 知识库问答 >
问题:

为什么谷歌地图显示为灰色而不初始化缩放

刘高驰
2023-03-14

我正在使用谷歌地图api制作一张带有自定义标记和按钮的地图,这些标记和按钮可以更改地图的中心和缩放。我有一个地图和信息窗口的全局变量。我的地图在初始化时显示为灰色,没有缩放控制。
控制台中没有显示任何错误消息。我有五个按钮:亚洲、北美、中东、纽约、新英格兰。这些按钮用于更改地图的中心和缩放。但是我想让地图从地图的初始位置开始

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

我通过一个位置对象使用foreach循环来定制地图上的标记和信息窗口。我还有一个功能来设置制造商的类型。这很有效。

$(document).ready(function(){

var map, infoWindow;    
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(窗口,加载,initMap);是for循环添加自定义标记后initMap函数的一部分。

在我关闭initMap函数后,但仍然在$(文档)中。就绪(函数(){调用initMap,并google.maps.event.addDomListener(窗口,加载,initMap)定义函数newPlace;

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

function newLocation(newLat,newLng,newZoom) {
map.setCenter({
    lat : newLat,
    lng : newLng,
  }); 
map.setZoom(newZoom)
};

initMap();

});

共有1个答案

陈富
2023-03-14

我在您发布的initMapfunction:uncaughttypeerror:map.setZoom不是这行的函数:zoom:map.setZoom(4)

那应该是:zoom: 4

代码片段:

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)
};
html,
body,
#map {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<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>

 类似资料:
  • 我已经阅读了很多关于这个问题的文章,但是没有什么能解决我的问题。我有一个标签上的谷歌地图,最初是隐藏的网页加载时,希望得到一些帮助,请。以下是完整的代码: 我就是不能让它工作。如果有人看到有帮助的东西,请回复。谢啦 编辑:将元素选择器更改为类,并将我的链接更改为类而不是ID,现在它至少会选择它。我在firebug中得到一个错误,“mymap未定义”。

  • 我想说我有一个相当简单的问题,这让我发疯。在我的客户网页上http://alminde-akupunktur.dk/ 在登录页面的底部,我使用谷歌地图作为背景。在我更新GoogleMapsAPI之后,地图变成了灰色,我还没有解决这个问题,控件和标记仍在显示。 有人能给我指出问题所在的正确方向吗?是我的CSS干扰了谷歌地图的呈现方式? 提前谢谢

  • 我有一个网页上的现有地图,使用以下脚本段正确缩放和居中:var mapOptions={center:{lat: 43.57023,lng:-79.48676},缩放: 12}map=newgoogle.maps.Map(document.getElementById(地图画布), mapOptions); 然后,我使用以下命令添加kml层:var myLayer=new google.maps.

  • 我有一个KMZ,它也包含区域多边形和城市点(12个谷歌引脚),但它们不会出现在地图上,尽管如你所见已打开。如何可见它们?有人能帮我吗? 这是地图:http://goo.gl/maps/Nbrfq 安得烈

  • 你好我现在试图在webview内使用我的网站一个应用程序,问题我有一个按钮与位置信息拉,郎在页面,当我在google chrome上使用网站时,按钮在移动中打开谷歌地图应用程序,但当我在app Inventor的webview内使用它时,它在相同的webview内打开浏览器中像新标签一样的地图,位置权限有问题试图使按钮在移动webview内打开本机地图应用程序没有运气这里是我的页面按钮代码。