Javascript OpenLayers,当为图层指定样式时,firefox不会渲染
当我为向量层指定style属性时,firefox不会在该层上渲染向量 要测试这一点,只需执行包含的javascript和html页面 您将在右上角看到一个EditingToolbar,尝试使用firefox绘制一个线条字符串 您将发现,线串根本不会出现在图层上 尝试从vectors层中删除styleMap属性,一切都将正常工作 如果你知道这个问题的原因,请告诉我 提前感谢您的时间和帮助 附言 此外,您还必须使用自己的OpenLayers库,并从html页面链接到它 就我个人而言,我使用的是GitHub的最新版本,因为其他版本还有另一个恼人的bug: 谷歌地图上的对话不断出现Javascript OpenLayers,当为图层指定样式时,firefox不会渲染,javascript,google-maps,geolocation,openlayers,Javascript,Google Maps,Geolocation,Openlayers,当我为向量层指定style属性时,firefox不会在该层上渲染向量 要测试这一点,只需执行包含的javascript和html页面 您将在右上角看到一个EditingToolbar,尝试使用firefox绘制一个线条字符串 您将发现,线串根本不会出现在图层上 尝试从vectors层中删除styleMap属性,一切都将正常工作 如果你知道这个问题的原因,请告诉我 提前感谢您的时间和帮助 附言 此外,您还必须使用自己的OpenLayers库,并从html页面链接到它 就我个人而言,我使用的是Git
function initialize(){
new Map();
}
function Map(){
this.map;
this.editing_toolbar;
this.vectors;
this.epsg900913 = new OpenLayers.Projection('EPSG:900913');
this.epsg4326 = new OpenLayers.Projection('EPSG:4326');
this.line_control;
this.renderer;
this.line_control,this.renderer=OpenLayers.Util.getParameters(window.location.href).renderer;
this.renderer= (this.renderer) ? [this.renderer] : OpenLayers.Layer.Vector.prototype.renderers;
// Create the map object
this.map = new OpenLayers.Map('map');
//Create a Google layer
var gmap = new OpenLayers.Layer.Google(
"Google Streets", // the default
{
numZoomLevels: 30,
projection: new OpenLayers.Projection("EPSG:900913")
}
);
var my_style=new OpenLayers.StyleMap({
"default":new OpenLayers.Style({
strokeWidth:5,
fillColor:"1484e6",
strokeColor:"1484e6"
}),
"select":new OpenLayers.Style({
fillColor:"e39119",
strokeColor:"e39119"
})
});
this.vectors= new OpenLayers.Layer.Vector(
"Vector Layer",
{styleMap:my_style,
renderers:this.renderer
}
);
this.map.addLayers([gmap,this.vectors]);
this.editing_toolbar=new OpenLayers.Control.EditingToolbar(this.vectors);
this.map.addControl(this.editing_toolbar);
this.map.addControl(new OpenLayers.Control.LayerSwitcher());
this.map.addControl(new OpenLayers.Control.MousePosition());
this.map.setCenter(new OpenLayers.LonLat(-123.12, 49.28).transform(this.epsg4326, this.epsg900913), 13);
}
<html>
<head>
<title>OpenLayers: Google Layer Example</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyAt66skA87gnWvy7UQl065zFaFHNXJiBc4&sensor=false"></script>
<script type="text/javascript" src="/static/open_layers/lib/OpenLayers.js"></script>
<script type="text/javascript" src="/static/firefox_bug.js"></script>
</head>
<body onload="initialize()">
<div id="map" class="smallmap"></div>
</body>
</html>
函数初始化(){
新地图();
}
函数映射(){
这张地图;
这是一个编辑工具条;
这是向量;
this.epsg900913=新OpenLayers.Projection('EPSG:900913');
this.epsg4326=新OpenLayers.Projection('EPSG:4326');
这是一条线控制;
这是一个渲染器;
this.line_控件,this.renderer=OpenLayers.Util.getParameters(window.location.href).renderer;
this.renderer=(this.renderer)?[this.renderer]:OpenLayers.Layer.Vector.prototype.renderers;
//创建贴图对象
this.map=newopenlayers.map('map');
//创建一个谷歌图层
var gmap=new OpenLayers.Layer.Google(
“Google Streets”,//默认值
{
numZoomLevels:30,
投影:新OpenLayers.投影(“EPSG:900913”)
}
);
var my_style=new OpenLayers.StyleMap({
“默认”:新建OpenLayers.Style({
冲程宽度:5,
填充颜色:“1484e6”,
strokeColor:“1484e6”
}),
“选择”:新建OpenLayers.Style({
填充颜色:“e39119”,
strokeColor:“e39119”
})
});
this.vectors=new OpenLayers.Layer.Vector(
“矢量层”,
{styleMap:my_风格,
渲染器:this.renderer
}
);
this.map.addLayers([gmap,this.vectors]);
this.editing_toolbar=new OpenLayers.Control.EditingToolbar(this.vectors);
this.map.addControl(this.editing_工具栏);
this.map.addControl(新的OpenLayers.Control.LayerSwitcher());
this.map.addControl(新的OpenLayers.Control.MousePosition());
this.map.setCenter(newopenlayers.LonLat(-123.12,49.28).transform(this.epsg4326,this.epsg900913),13);
}
OpenLayers:Google层示例
这是有史以来最简单的事情。答案是1484e6不是一种颜色,但是#1484e6是一种颜色