在google maps javascript中设置缩放级别

在google maps javascript中设置缩放级别,javascript,google-maps,Javascript,Google Maps,我已经工作了很长时间,试图得到一个谷歌地图上有一个单一的标记。我已完成javascript,但无法获得11的缩放级别。我开发了一个使用多个标记的地图,代码为“MYMAP.bounds.extend(point);”来扩展地图。有了这张地图,我只有一个标记,我希望它在加载时位于地图的中心。非常感谢您的帮助 开始代码 // extend the bounds to include the new point // I have another map

我已经工作了很长时间,试图得到一个谷歌地图上有一个单一的标记。我已完成javascript,但无法获得11的缩放级别。我开发了一个使用多个标记的地图,代码为“MYMAP.bounds.extend(point);”来扩展地图。有了这张地图,我只有一个标记,我希望它在加载时位于地图的中心。非常感谢您的帮助

开始代码

            // extend the bounds to include the new point
            // I have another map with multiple markers
            // and the code below extends the map bounds
            // for this map, I only have one marker
            // and I want it centered on the lat & long
            // zoom level 11. I thought I set that level
            // on line 11 but it doesn't seem to work as intended

            MYMAP.bounds.extend(point);




            var marker = new google.maps.Marker({
                position: point,
                map: MYMAP.map
            });

            var infoWindow = new google.maps.InfoWindow();
            var html='<strong>'+name+'</strong.><br />'+address;
            google.maps.event.addListener(marker, 'mouseover', function() {
                infoWindow.setContent(html);
                infoWindow.open(MYMAP.map, marker);

            });
            google.maps.event.addListener(marker,'mouseout', function() {
        infoWindow.close();
    });


            MYMAP.map.fitBounds(MYMAP.bounds);
        });
    });
}
//扩展边界以包括新点
//我有另一张带有多个标记的地图
//下面的代码扩展了映射边界
//对于这张地图,我只有一个标记
//我希望它集中在横向和纵向上
//缩放级别11。我以为我设定了那个水平
//第11行,但它似乎没有按预期工作
MYMAP.bounds.extend(点);
var marker=new google.maps.marker({
位置:点,,
地图:MYMAP.map
});
var infoWindow=new google.maps.infoWindow();
var html=''+name+'
'+地址; google.maps.event.addListener(标记'mouseover',函数(){ setContent(html); 打开(MYMAP.map,marker); }); google.maps.event.addListener(标记,'mouseout',函数(){ infoWindow.close(); }); MYMAP.map.fitBounds(MYMAP.bounds); }); }); }
  • 记下标记的数量(我建议将它们放在一个数组中)
  • 如果为1标记,请将地图中心设置为该标记,并将缩放设置为11
  • 如果>1标记,则使用map.fitBounds
  • 代码片段:

    $(文档).ready(函数(){
    $(“#地图”).css({
    //身高:700,
    //宽度:800
    });
    var mylatng=new google.maps.LatLng(46.0772870,-118.2938430);
    init(“#map”,myLatLng,11);
    $(“#showmarks”).ready(函数(e){
    placeMarkers('location_markers.xml');
    });
    });
    var MYMAP={
    map:null,
    界限:空,
    标记:[]
    }
    MYMAP.init=函数(选择器、latLng、缩放){
    变量myOptions={
    缩放:缩放,
    中心:拉特林,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    }
    this.map=new google.maps.map($(选择器)[0],myOptions);
    this.bounds=new google.maps.LatLngBounds();
    }
    MYMAP.placeMarkers=函数(文件名){
    //$.get(文件名、函数(xml){
    var xml=xmlParse(xmlString);
    $(xml).find(“marker”).each(函数(){
    var name=$(this.find('name').text();
    var address=$(this.find('address').text();
    //为标记创建新的板条点
    var lat=$(this.find('lat').text();
    var lng=$(this.find('lng').text();
    var point=new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
    //扩展边界以包括新点
    //我有另一张带有多个标记的地图
    //下面的代码扩展了映射边界
    //对于这张地图,我只有一个标记
    //我希望它集中在横向和纵向上
    //缩放级别11。我以为我设置了那个级别
    //第11行,但它似乎没有按预期工作
    MYMAP.bounds.extend(点);
    var marker=new google.maps.marker({
    位置:点,,
    地图:MYMAP.map
    });
    var infoWindow=new google.maps.infoWindow();
    var html=''+name+'
    '+地址; google.maps.event.addListener(标记'mouseover',函数(){ setContent(html); 打开(MYMAP.map,marker); }); google.maps.event.addListener(标记'mouseout',函数(){ infoWindow.close(); }); MYMAP.markers.push(marker); if(MYMAP.markers.length==1){ MYMAP.map.setCenter(marker.getPosition()); }否则{ MYMAP.map.fitBounds(MYMAP.bounds); } }); //}); } 函数xmlParse(str){ if(typeof ActiveXObject!=“未定义”&&typeof GetObject!=“未定义”){ var doc=新的ActiveXObject('Microsoft.XMLDOM'); doc.loadXML(str); 退货单; } if(typeof DOMParser!=“未定义”){ return(newdomparser()).parseFromString(str,'text/xml'); } 返回createElement('div',null); } var xmlString='42-72南桥和伍德斯托克之间的某处'
    html,
    身体,
    #地图{
    身高:100%;
    宽度:100%;
    边际:0px;
    填充:0px
    }
    
    
  • 记下标记的数量(我建议将它们放在一个数组中)
  • 如果为1标记,请将地图中心设置为该标记,并将缩放设置为11
  • 如果>1标记,则使用map.fitBounds
  • 代码片段:

    $(文档).ready(函数(){
    $(“#地图”).css({
    //身高:700,
    //宽度:800
    });
    var mylatng=new google.maps.LatLng(46.0772870,-118.2938430);
    init(“#map”,myLatLng,11);
    $(“#showmarks”).ready(函数(e){
    placeMarkers('location_markers.xml');
    });
    });
    var MYMAP={
    map:null,
    界限:空,
    标记:[]
    }
    MYMAP.init=函数(选择器、latLng、缩放){
    变量myOptions={
    缩放:缩放,
    中心:拉特林,
    mapTypeId:google.maps.mapTypeId.ROADMAP
    }
    this.map=new google.maps.map($(选择器)[0],myOptions);
    this.bounds=new google.maps.LatLngBounds();
    }
    MYMAP.placeMarkers=函数(文件名){
    //$.get(文件名、函数(xml){
    var xml=xmlParse(xmlString);
    $(xml).find(“marker”).each(函数(){
    var name=$(this.find('name').text();
    var address=$(this.find('address').text();
    //为标记创建新的板条点
    var lat=$(this.find('lat').text();
    var lng=$(this.find('lng').text();
    var point=new google.maps.LatLng(parseFloat(lat),parseFloat(lng));
    //扩展边界以包括新点
    //我有另一张带有多个标记的地图
    //下面的代码扩展了映射边界
    //对于这张地图,我只有一个标记
    //我希望它集中在横向和纵向上