工作代碼2 Working copy如何改變openlayer 2標記openlayer openlayer的3
極品 - 的new ol.Map
代替new OpenLayers.Map
全碼
我想這個轉換使用openlayer 3.但也有很多變化中有openlayer 3沒有標記..任何機構可以建議如何改變這種工作示例jsfiddle(像ol.Style.Icon
)
下面是代碼
function updateIcon(f) {
f.style.externalGraphic = "marker.png";
vector.drawFeature(f);
}
options = {
div: "map",
zoom: 2,
center: [0, 0],
layers: [
new OpenLayers.Layer.OSM()
]
};
map = new OpenLayers.Map(options);
vector = new OpenLayers.Layer.Vector();
map.addLayer(vector);
var point1 = new OpenLayers.Geometry.Point(0,0);
var point2 = new OpenLayers.Geometry.Point(1000000, 1000000);
var point3 = new OpenLayers.Geometry.Point(2000000, 2000000);
var radius = $("#amount").val();
var mycircle = OpenLayers.Geometry.Polygon.createRegularPolygon(point2,radius,40,0);
var featurecircle = new OpenLayers.Feature.Vector(mycircle);
// var selected_polygon_style = {
// strokeWidth: 5,
// strokeColor: '#ff0000'
// // add more styling key/value pairs as your need
// };
// featurecircle.style = selected_polygon_style;
marker1 = new OpenLayers.Feature.Vector(point1, null, {
externalGraphic: "marker.png",
graphicWidth: 32,
graphicHeight: 32,
fillOpacity: 1
});
marker1.style = { display: 'none' };
marker2 = new OpenLayers.Feature.Vector(point2, null, {
externalGraphic: "marker.png",
graphicWidth: 32,
graphicHeight: 32,
fillOpacity: 1
});
marker3 = new OpenLayers.Feature.Vector(point3, null, {
externalGraphic: "marker.png",
graphicWidth: 32,
graphicHeight: 32,
fillOpacity: 1
});
vector.addFeatures([marker1, marker2, marker3, featurecircle]);
$("#slider-range-max").slider({
range: "max",
min: 1000000,
max: 3000000,
value: 1000000,
slide: function(event, ui) {
$("#amount").val(ui.value);
radius = $("#amount").val();
vector.removeFeatures([featurecircle]);
var mycircle = OpenLayers.Geometry.Polygon.createRegularPolygon
(
point2,
radius,
40,
0
);
featurecircle = new OpenLayers.Feature.Vector(mycircle);
vector.addFeatures([featurecircle]);
console.log(radius);
}
});
$("#amount").val($("#slider-range-max").slider("value"));
$(radius).val($("#slider-range-max").slider("value"));
html, body {
height:100%;
width: 100%;
padding:5px;
margin:0px;
}
#map {
height:90%;
width: 95%;
}
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<link href="http://openlayers.org/en/v3.16.0/css/ol.css" rel="stylesheet"/>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<p>
<label for="amount">Minimum number</label>
<input type="text" id="amount" value="1000000" style="border:0; color:#f6931f; font-weight:bold;">
</p>
<div id="slider-range-max"></div>
<div id="map" style="width:600px;height:600px;"></div>
對不起是添加 – Sagar