Hi Dennis,
I use the following function to remove highway markers from Google Maps.
The function is executed by the parent mapObject of the Google Map
layer. When I switch to the Google Hybrid layer in the same mapObject,
the markers are also invisible.
Hope this helps,
Jan
function setGoogleStyles(googleMapLayer) {
var styles = [{
"featureType": "road.highway",
"elementType": "labels.icon",
"stylers": [ {
"visibility": "off"
} ]
},{
"featureType": "road.highway",
"elementType": "geometry",
"stylers": [ {
"visibility": "on"
} ]
},{
"featureType": "road.arterial",
"elementType": "labels.icon",
"stylers": [ {
"visibility": "off"
} ]
},{
"featureType": "road.arterial",
"elementType": "geometry",
"stylers": [ {
"visibility": "on"
} ]
}]
googleMapLayer.mapObject.setOptions({styles: styles});
On 10/19/2012 02:57 PM, den ben wrote:
Hey guys this is a repost. I didn't get any responses. Thought maybe
knowing that someone might have an idea or get sudden inspiration to
check this out?
I'm trying to implement Google's map styling feature (google map api
v3) which allows customization of map features (the ability to modify
the color/visibility/opacity of map features like water, roads and
labels).
I have found some example websites but all them are using the ROADMAP
maptype. I want to style other map types as well, especially TERRAIN.
But when I get the syntax right, and when it actually works, it
always defaults back to the ROADMAP. Has anyone done this?
I would greatly appreciate any insight or advice!
Thanks,
Dennis
Here's some code:
//yellow water:
var stylez = [
{
stylers:
[
{ visibility: "on" }
]
},
{
featureType: "water",
stylers: [
{hue: "#F7E66B"},
{saturation: 100}
]
}
];
var _projection = new OpenLayers.Projection("EPSG:4326");
var _bounds = new OpenLayers.Bounds(-20037508.34, -20037508.34,
20037508.34, 20037508.34);
var _baseLayers = [
new OpenLayers.Layer.Google("TERRAIN", {type:
google.maps.MapTypeId.TERRAIN, sphericalMercator:true, 'maxExtent':
_bounds}),
new OpenLayers.Layer.Google("ROADMAP", {type:
google.maps.MapTypeId.ROADMAP, sphericalMercator:true, 'maxExtent':
_bounds}),
new OpenLayers.Layer.Google("HYBRID", {type:
google.maps.MapTypeId.HYBRID, sphericalMercator:true, 'maxExtent':
_bounds}),
new OpenLayers.Layer.Google("SATELLITE", {type:
google.maps.MapTypeId.SATELLITE, sphericalMercator:true, 'maxExtent':
_bounds}),
new OpenLayers.Layer.Google("TEST", {mapTypeId:
google.maps.MapTypeId.TERRAIN, styles: stylez})
];
var styledMapOptions = {
name: "Styled Map"
};
var styledMapType = new google.maps.StyledMapType(stylez,
styledMapOptions);
var _map = new OpenLayers.Map({
div: 'my_map_div',
controls:[new OpenLayers.Control.Navigation(),new
OpenLayers.Control.ArgParser(),new OpenLayers.Control.Attribution()],
displayProjection: _projection,
maxResolution:'auto',
layers: _baseLayers,
units: "degrees"
});
var test_layer = this.get_layer(_map, 'TEST');
test_layer.mapObject.mapTypes.set('styled', styledMapType);
test_layer.mapObject.setMapTypeId('styled');
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users