Allow the use of custom GMapTypes via the Layer.Google. When passed a type in
the Layer.Google constructor, we check if the type we are given is not in the map's list of types, and if so, add it. (Closes #1082) r=tschaub git-svn-id: http://svn.openlayers.org/trunk/openlayers@5504 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -159,6 +159,13 @@ OpenLayers.Layer.Google = OpenLayers.Class(
|
||||
*/
|
||||
setMapType: function() {
|
||||
if (this.mapObject.getCenter() != null) {
|
||||
|
||||
// Support for custom map types.
|
||||
if (OpenLayers.Util.indexOf(this.mapObject.getMapTypes(),
|
||||
this.type) == -1) {
|
||||
this.mapObject.addMapType(this.type);
|
||||
}
|
||||
|
||||
this.mapObject.setMapType(this.type);
|
||||
this.map.events.unregister("moveend", this, this.setMapType);
|
||||
}
|
||||
|
||||
@@ -85,6 +85,35 @@
|
||||
}
|
||||
}
|
||||
|
||||
function test_Layer_Google_setMapType (t) {
|
||||
if (validkey) {
|
||||
t.plan(3);
|
||||
var layer = new OpenLayers.Layer.Google('Goog Layer');
|
||||
layer.map = {'events':{'unregister': function() {}}};
|
||||
layer.loadMapObject();
|
||||
layer.mapObject.getCenter= function() { return true; }
|
||||
layer.mapObject.getMapTypes = function() { return [0, 1]; }
|
||||
layer.mapObject.addMapType = function(type) {
|
||||
t.eq(type, 5, "new map type passed correctly.");
|
||||
}
|
||||
layer.mapObject.setMapType = function(arg) {
|
||||
t.eq(arg, 5, "got map type");
|
||||
}
|
||||
layer.type = 5;
|
||||
layer.setMapType();
|
||||
layer.mapObject.setMapType = function(arg) {
|
||||
t.eq(arg, 0, "got map type");
|
||||
}
|
||||
layer.type = 0
|
||||
layer.setMapType();
|
||||
|
||||
} else {
|
||||
t.plan(0);
|
||||
t.debug_print("Google tests can't be run from " +
|
||||
window.location.host);
|
||||
}
|
||||
}
|
||||
|
||||
function test_04_Layer_Google_Translation_pixel (t) {
|
||||
if(validkey) {
|
||||
t.plan( 4 );
|
||||
|
||||
Reference in New Issue
Block a user