我一直在尝试4年以上来弄清楚如何使用谷歌地图。我超越欣喜若狂,终于能够用正确的地址生成地图。谷歌地图 - 如何设置缩放级别
这是我的javascript。
我现在正在努力如何设置缩放级别。我已经在下面显示的每个地方尝试了它 - 但它们都不起作用。在每种情况下(不管我设定为缩放级别的数量如何),我都会获得特定建筑物的真实近距离地图。
任何人都可以看到我做错了什么,或者我需要做什么才能让我的地图识别我的缩放级别请求?我没有在控制台中显示任何js错误。
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 5
});
var bounds = new google.maps.LatLngBounds();
// var opts = {
// zoom: 10,
// max_zoom: 16
// }
var n = addresses.length;
for (var i = 0; i < n; i++) {
var lat = addresses[i].latitude;
var lng = addresses[i].longitude;
if (lat == null || lng ==null){
console.log(addresses[i].name + " doesn't have coordinates");
}else {
var address = new google.maps.Marker({
position: {lat: parseFloat(lat), lng: parseFloat(lng)},
title: addresses[i].name,
map: map //,
// zoom: 8
});
bounds.extend(address.position);
}
}
map.fitBounds(bounds);
}
请注意回答为什么这个问题与许多其他人问到的问题不同。我特别在如何以及在哪里使用这个JS提供的功能而苦苦挣扎。我无法理解任何我已经设法生成的JS - 以上版本是4年以上努力学习的结果。我不能在其他职位上采用通用的想法,并且像其他人一样能够轻松地应用它们。当我尝试学习破译如何与这些语言交流时,请耐心等待。这不是我已经很容易掌握的东西。
此外,特别是针对您标记的答案中的问题 - 也许代码在提问时的时间点很好,但从Google图书馆看,正确的表达式应该是“zoom:4 “没有设置缩放(某事)。我尝试了两种方法,无法让他们中的任何一个在我的代码中工作。
XOMENA的建议
以Xomena的建议,我想在我的地图功能来定义缩放和中心(虽然我不发售者如果我在正确的地方做到了这一点)。
这是行不通的。控制台显示我的js文件中的错误,说:
Uncaught SyntaxError: Unexpected identifier
现在,我的js文件有:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
setZoom: 5
setCenter = addresses.first
});
var bounds = new google.maps.LatLngBounds();
// var opts = {
// zoom: 10,
// max_zoom: 16
// }
var n = addresses.length;
for (var i = 0; i < n; i++) {
var lat = addresses[i].latitude;
var lng = addresses[i].longitude;
if (lat == null || lng ==null){
console.log(addresses[i].name + " doesn't have coordinates");
}else {
var address = new google.maps.Marker({
position: {lat: parseFloat(lat), lng: parseFloat(lng)},
title: addresses[i].name,
map: map //,
// zoom: 8
});
// bounds.extend(address.position);
}
}
// map.fitBounds(bounds);
}
我无法找到如何设置此工作的例子。我试着在这个js文件的每个文本块中放置缩放和设置中心线,但我找不到可行的公式。
下一次尝试
我试图移动我的应用程序的JavaScript包括标记出了头标签,并以我application.html.erb身体标记下。
现在,我有一个错误,指出:
js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:95 Uncaught Eb {message: "initMap is not a function", name: "InvalidValueError", stack: "Error↵ at new Eb (https://maps.googleapis.com/m…3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:130:73"}message: "initMap is not a function"name: "InvalidValueError"stack: "Error↵ at new Eb (https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:41:365)↵ at Object._.Fb (https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:41:475)↵ at Lg (https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:95:420)↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:130:58↵ at Object.google.maps.Load (https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:21:5)↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:129:20↵ at https://maps.googleapis.com/maps/api/js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:130:73"__proto__: ErrorLg @ js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:95(anonymous function) @ js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:130google.maps.Load @ js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:21(anonymous function) @ js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:129(anonymous function) @ js?key=AIzaSyAleQgfNH3HRQVUCYnyAzp46xmXW7WrWrc&callback=initMap:130
kwift.CHROME.min.js:1271 Uncaught SyntaxError: Identifier 'findGoodContent' has already been declared
我已经看了帖子形成采用了棱角分明(我不使用),它建议增加另一个js文件的视图,其中地图是别人显示。
任何人都可以帮助解决这个角度不使用的轨道?
喜 - 我想评论的fitBounds线路输出和变焦增加。这将停止渲染地图。而不是得到正确的地址 - 我得到了一张海洋地图。无论我添加到缩放线的数量如何,它都是相同的缩放级别 - 所以我不认为这是解决方案。你认为我应该使用哪种缩放表情?我的任何尝试都不擅长缩放吗? – Mel
这是因为您在[地图选项](https://developers.google.com/maps/documentation/javascript/reference#MapOptions)中缺少中心参数。中心应定义为地图选项或通过map.setCenter()方法。 https://developers.google.com/maps/documentation/javascript/reference – xomena
我试图加入你的建议。我无法弄清楚如何让它起作用。我已经复制了我上面的最佳尝试。请你帮我弄清楚。谢谢 – Mel