1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
defaultHandlerOptions: {
'single': true,
'double': false,
'pixelTolerance': 0,
'stopSingle': false,
'stopDouble': false
},
initialize: function(options) {
this.handlerOptions = OpenLayers.Util.extend(
{}, this.defaultHandlerOptions
);
OpenLayers.Control.prototype.initialize.apply(
this, arguments
);
this.handler = new OpenLayers.Handler.Click(
this, {
'click': this.onclick
}, this.handlerOptions
);
},
onclick: function(e) {
popup1 = new OpenLayers.Popup.FramedCloud(
"popupInfo",
map.getLonLatFromViewPortPx(e.xy),
new OpenLayers.Size(200,200),
"test popupinfo",
null,
true,
null);
map.addPopup(popup1,true);
}
});
var map, controls; //complex object of type OpenLayers.Map
function createMap() {
var myNavControl = new OpenLayers.Control.Navigation({
handleRightClicks: true
});
map = new OpenLayers.Map.WitchMenu ("map", {
controls:[
myNavControl,
//new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.Attribution()],
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
maxResolution: 156543.0399,
numZoomLevels: 40,
units: 'm',
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
} );
myNavControl.handlers.click.callbacks.rightclick = function(e) {
popup = new OpenLayers.Popup.Anchored(
"floatingmenu",
map.getLonLatFromViewPortPx(e.xy),
new OpenLayers.Size(200,100),
"<div id='floatingmenuitem'>Itinéraire à partir de ce lieu</div><div id='floatingmenuitem'>Itinéraire vers ce lieu</div><div id='floatingmenuitem'>Centrer la carte ici</div><div id='floatingmenuitem'>Prevision météo d'ici</div>",
null,
false,
null);
map.addPopup(popup,true);
}
click = new OpenLayers.Control.Click({
handlerOptions: {
"single": true
}
});
var click = new OpenLayers.Control.Click();
map.addControl(click);
click.activate();
// Define the map layer
// Here we use a predefined layer that will be kept up to date with URL changes
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
map.addLayer(layerTilesAtHome);
layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
map.addLayer(layerCycleMap);
layerMarkers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(layerMarkers);
var proj = new OpenLayers.Projection("EPSG:4326");
if (typeof(poseList)!="undefined" && poseList.length > 0) {
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry");
var points = [];
for (var i = 0; i < poseList.length; i++) {
var point = new OpenLayers.Geometry.Point(poseList[i][1],poseList[i][0]).transform(proj, map.getProjectionObject());
points.push(point);
}
var geometry = new OpenLayers.Geometry.LineString(points);
var feature = new OpenLayers.Feature.Vector(geometry, null, {strokeColor: "red", strokeOpacity: 1, strokeWidth: 5 });
vectorLayer.addFeatures(feature);
map.addLayer(vectorLayer);
}
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
map.setCenter(lonLat, zoom);
var size = new OpenLayers.Size(21, 25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openstreetmap.org/openlayers/img/marker.png',size,offset);
layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
var y;
map.addControl(new OpenLayers.Control.MousePosition());
map.events.register("mousemove", map, function(e) {
var position = this.events.getMousePosition(e);
y=position;
});
} |
Partager