Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 在不同的缩放级别更改国家/州标签的包含?_Google Maps - Fatal编程技术网

Google maps 在不同的缩放级别更改国家/州标签的包含?

Google maps 在不同的缩放级别更改国家/州标签的包含?,google-maps,Google Maps,在Google Maps静态API(以及我所知道的其他API)中,在缩放级别7时,美国的国家标签消失,而在缩放级别8时,各个州的标签消失 我有兴趣在缩放级别8生成地图,但保留国家和州标签。我意识到这些标签并不完全适合这个缩放级别,但如果您碰巧在适当的位置查看地图,我希望它们是可见的 有没有办法通过谷歌地图API实现这一点 我试过了 style=feature:administrative.country|element:labels|visibility:on&stylefeature:

在Google Maps静态API(以及我所知道的其他API)中,在缩放级别7时,美国的国家标签消失,而在缩放级别8时,各个州的标签消失

我有兴趣在缩放级别8生成地图,但保留国家和州标签。我意识到这些标签并不完全适合这个缩放级别,但如果您碰巧在适当的位置查看地图,我希望它们是可见的

有没有办法通过谷歌地图API实现这一点

我试过了

style=feature:administrative.country|element:labels|visibility:on&stylefeature:administrative.province|element:labels|visibility:on

但这并没有在缩放级别8添加我想要的标签。我的怀疑是这根本无法做到,但也许有人知道解决方法。

你不能使用样式化的地图来改变这一点。但您可以在更高的缩放级别将它们添加到地图中

代码片段:

函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(35.9,-97.092877),
缩放:7,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
document.getElementById('zoom').innerHTML=“zoom=“+map.getZoom();
google.maps.event.addListener(映射,'click',函数(e){
控制台日志(如latLng.toUrlValue(6));
});
// 35.930648,-97.166119
变量myOptions={
内容:“俄克拉荷马州”,
箱式:{
边界:“无”,
textAlign:“居中”,
字体大小:“14磅”,
宽度:“50px”,
颜色:“灰色”
},
是的,
pixelOffset:new google.maps.Size(-25,0),
位置:新google.maps.LatLng(36.05,-97.4),
closeBoxURL:“”,
伊希登:错,
窗格:“地图窗格”,
enableEventPropagation:true
};
var ibLabel=新信息框(myOptions);
google.maps.event.addListener(映射'zoom_changed',函数(){
log(“zoom=“+map.getZoom());
document.getElementById('zoom').innerHTML=“zoom=“+map.getZoom();
if(map.getZoom()==8){
ibLabel.open(map);
}否则{
ibLabel.close();
}
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体
#地图画布{
身高:98%;
宽度:100%;
边际:0px;
填充:0px
}

太棒了!标签位置的横向/纵向数据使用哪些来源?只是从zoom level 7地图中采样?有没有一种方法可以通过静态地图API实现这一点?我刚刚使用了一个“state”KML文件,看起来它与现有地图上的标签很接近(这就是为什么它们可能需要调整的原因)。使用静态映射API执行此操作将更加困难(您只需从静态映射API获取图像)