Javascript 谷歌地图API在setcenter之后的缩放
我曾尝试使用谷歌地图向用户可以创建的事件添加位置。因此,有一个带有Javascript 谷歌地图API在setcenter之后的缩放,javascript,google-maps,zooming,Javascript,Google Maps,Zooming,我曾尝试使用谷歌地图向用户可以创建的事件添加位置。因此,有一个带有onclick=“initialize()”的“添加位置”复选框,地图和搜索框随后出现,搜索按钮带有onclick=“code地址()”。不过,初始化的地图设置为缩放级别10(因为它是伦敦的整体),但当有人输入地址时,例如,我需要它缩放到适当的级别 我觉得这应该比看起来简单。我已经读了很多关于使用LatLngBounds()的书,但是这些例子是针对多个标记的,你必须设置SW和NE角,我不知道如何为不同的搜索进行适当的计算 var
onclick=“initialize()”
的“添加位置”复选框,地图和搜索框随后出现,搜索按钮带有onclick=“code地址()”
。不过,初始化的地图设置为缩放级别10(因为它是伦敦的整体),但当有人输入地址时,例如,我需要它缩放到适当的级别
我觉得这应该比看起来简单。我已经读了很多关于使用LatLngBounds()
的书,但是这些例子是针对多个标记的,你必须设置SW和NE角,我不知道如何为不同的搜索进行适当的计算
var geocoder;
var map;
var markersArray = [];
function initialize() {
var locationStart = new google.maps.LatLng(51.5073346, -0.12768310000001293);
geocoder = new google.maps.Geocoder();
var myOptions = {
center: locationStart,
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: locationStart,
map: map
});
markersArray.push(marker);
}
// Function to remove markers
function clearOverlays() {
if(markersArray) {
for (var i = 0; i < markersArray.length; i++) {
markersArray[i].setMap(null);
}
}
}
// Function to search addresses and generate a list of the other options returned
function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode({
'address': address,
'region' : 'uk'
},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var divTest = document.getElementById("results");
divTest.innerHTML = "";
if (results.length > 1) {
$('#addressOptions').show();
for (var i=0; i<results.length; i++) {
divTest.innerHTML += "<tr><td id=\"address"+ i + "\" onclick=\"grabLocation(" + i + ")\" >" + results[i].formatted_address + "</td></tr>";
};
} else {
$('#addressOptions').hide();
}
divTest.innerHTML += "";
var marker = new google.maps.Marker({
'map' : map,
'position' : results[0].geometry.location,
'preserveViewport' : false
});
map.setCenter(results[0].geometry.location);
markersArray.push(marker);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
var地理编码器;
var映射;
var-markersArray=[];
函数初始化(){
var locationStart=new google.maps.LatLng(51.5073346,-0.12768310000001293);
geocoder=新的google.maps.geocoder();
变量myOptions={
中心:位置开始,
缩放:10,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var marker=new google.maps.marker({
位置:locationStart,
地图:地图
});
markersArray.push(marker);
}
//删除标记的函数
函数clearOverlays(){
if(markersArray){
对于(var i=0;i1){
$('#addressOptions').show();
对于(var i=0;i,地理编码器返回一个建议的视口
results[0].geometry.viewport
它可以用于缩放到对返回的结果有意义的级别