Jquery 渲染样式的谷歌地图
我不知道如何创建一个样式化的地图,以便使用我的样式数组。我正在使用高级自定义字段插件,以便用户可以输入自己的位置,因此我使用文档中的jQuery来渲染地图。代码如下:Jquery 渲染样式的谷歌地图,jquery,google-maps,Jquery,Google Maps,我不知道如何创建一个样式化的地图,以便使用我的样式数组。我正在使用高级自定义字段插件,以便用户可以输入自己的位置,因此我使用文档中的jQuery来渲染地图。代码如下: // My Styles! var styles = [ { featureType: "administrative", elementType: "all", stylers: [ { saturation: -100, } ] }]; function render_map( $el ) { // var var
// My Styles!
var styles = [
{
featureType: "administrative",
elementType: "all",
stylers: [
{ saturation: -100, }
]
}];
function render_map( $el ) {
// var
var $markers = $el.find('.marker');
// vars
var args = {
zoom : 10,
center : new google.maps.LatLng(0, 0),
mapTypeId : google.maps.MapTypeId.ROADMAP,
scrollwheel: false
};
// create map
var map = new google.maps.Map( $el[0], args);
// add a markers reference
map.markers = [];
// add markers
$markers.each(function(){
add_marker( $(this), map );
});
// center map
center_map( map );
}
我通常使用它来创建一个样式化的映射,但我无法让它与上面的代码一起工作:
var styledMap = new google.maps.StyledMapType(styles,
{name: "Styled Map"});
我意识到这可能很简单!尽管我喜欢了解为什么事情能工作,为什么不能工作。如果您查看(创建StyledMapType)部分,您似乎忘记了代码的一部分:
// Associate the styled map with the MapTypeId and set it to display.
map.mapTypes.set('map_style', styledMap);
map.setMapTypeId('map_style');
您声明了一个新的StyledMap
,但从未告诉您当前的谷歌地图实例它必须使用它
如果不想在许多不同的StyledMap之间切换,还可以使用以下设置样式:
map.setOptions({styles: styles}); // map is your current map object
使用第二种方法,这段代码将过时:
var styledMap = new google.maps.StyledMapType(styles,
{name: "Styled Map"});
我从未在谷歌地图中使用过
StyledMap
,我的答案基于我对谷歌地图API和文档的其他知识。所以它可能是不正确的。干杯,伙计<代码>map.setOptions({styles:styles})代码>是我需要的。