trash
当前为
// ==UserScript==
// @name BeenHere Overlay
// @namespace https://greasyfork.org/en/users/5920-rickzabel
// @description trash
// @include https://www.waze.com/editor/*
// @include https://www.waze.com/*/editor/*
// @include https://editor-beta.waze.com/*
// @version 0.0.1
// @grant none
// ==/UserScript==
//---------------------------------------------------------------------------------------
function bootstrap_MapRaidOverlay() {
var bGreasemonkeyServiceDefined = false;
try {
bGreasemonkeyServiceDefined = (typeof Components.interfaces.gmIGreasemonkeyService === "object");
} catch (err) { /* Ignore */ }
if (typeof unsafeWindow === "undefined" || !bGreasemonkeyServiceDefined) {
unsafeWindow = (function() {
var dummyElem = document.createElement('p');
dummyElem.setAttribute('onclick', 'return window;');
return dummyElem.onclick();
})();
}
/* begin running the code! */
setTimeout(InitMapRaidOverlay, 1000);
//Waze.model.liveUsers.users._events.register("add", null, newLiveUser);
}
function AddRaidPolygon(raidLayer, groupPoints, groupColor, groupNumber) {
var groupNumber = "me";
var point = Waze.map.getExtent();
var groupColor = 'orange';
var groupPoints = [{
lon: point.left,
lat: point.top
}, {
lon: point.left,
lat: point.bottom
}, {
lon: point.right,
lat: point.bottom
}, {
lon: point.right,
lat: point.top
}, {
lon: point.left,
lat: point.top
}];
//console.info(raidLayer + " " + groupPoints + " " + groupColor + " " + groupNumber);
var mro_Map = unsafeWindow.Waze.map;
var mro_OL = unsafeWindow.OpenLayers;
//var raidGroupLabel = groupNumber;
var raidGroupLabel = "";
// var groupName = groupNumber;
var groupName = "";
var style = {
strokeColor: "orange",
strokeOpacity: .9,
strokeWidth: 3,
fillColor: groupColor,
fillOpacity: 0.0,
label: raidGroupLabel,
labelOutlineColor: "black",
labelOutlineWidth: 3,
fontSize: 14,
fontColor: groupColor,
fontOpacity: .85,
fontWeight: "bold"
};
var attributes = {
name: groupName
};
//console.dir(groupPoints);
var pnt = [];
for (i = 0; i < groupPoints.length; i++) {
//convPoint = new OpenLayers.Geometry.Point(groupPoints[i].lon,groupPoints[i].lat).transform(new OpenLayers.Projection("EPSG:4326"), mro_Map.
convPoint = new OpenLayers.Geometry.Point(groupPoints[i].lon, groupPoints[i].lat);
//getProjectionObject());
//console.log('MapRaid: ' + JSON.stringify(groupPoints[i]) + ', ' + groupPoints[i].lon + ', ' + groupPoints[i].lat);
pnt.push(convPoint);
}
var ring = new mro_OL.Geometry.LinearRing(pnt);
var polygon = new mro_OL.Geometry.Polygon([ring]);
console.dir(polygon);
var feature = new mro_OL.Feature.Vector(polygon, attributes, style);
console.dir(feature);
raidLayer.addFeatures([feature]);
}
function CurrentRaidLocation(raid_mapLayer) {
var mro_Map = unsafeWindow.Waze.map;
for (i = 0; i < raid_mapLayer.features.length; i++) {
var raidMapCenter = mro_Map.getCenter();
var raidCenterPoint = new OpenLayers.Geometry.Point(raidMapCenter.lon, raidMapCenter.lat);
var raidCenterCheck = raid_mapLayer.features[i].geometry.components[0].containsPoint(raidCenterPoint);
//console.log('MapRaid: ' + raid_mapLayer.features[i].attributes.number + ': ' + raidCenterCheck);
if (raidCenterCheck === true) {
var raidLocationLabel = 'Raid Group ' + raid_mapLayer.features[i].attributes.number + ' - ' + $('.WazeControlLocationInfo').text();
setTimeout(function() {
$('.WazeControlLocationInfo').text(raidLocationLabel);
}, 200);
}
}
}
function InitMapRaidOverlay() {
//alert("wtf");
unsafeWindow.mapLayers = new unsafeWindow.OpenLayers.Layer.Vector("Live User View Overlay", {
displayInLayerSwitcher: true,
uniqueName: "__LiveUserViewOverlay"
});
unsafeWindow.Waze.map.addLayer(unsafeWindow.mapLayers);
unsafeWindow.mapLayers.setVisibility(true);
var mro_Map = unsafeWindow.Waze.map;
var mro_OL = unsafeWindow.OpenLayers;
if (mro_Map == null) return;
if (mro_OL == null) return;
// mapLayers.removeAllFeatures();
AddRaidPolygon(mapLayers);
//console.info('############# userview addded: left ' + point.left + ' top: ' + point.top + ' bottom: ' + point.bottom + ' right: ' + point.right + ' bottom: ' + point.bottom);
// AddRaidPolygon(mapLayers, viewPoints, color, name);
//console.info('############# userview addded ');
//console.info(mapLayers + " " + viewPoints + " " + color + " " + name);
//}
// setTimeout(function(){InitMapRaidOverlay()},1000);
mro_Map.events.register("moveend", Waze.map, function() {
AddRaidPolygon(mapLayers);
});
mro_Map.events.register("zoomend", Waze.map, function() {
AddRaidPolygon(mapLayers);
});
//Waze.model.liveUsers.users.models[0]._events.register("change:showLayer", null, function(){//console.info('change:showLayer');});
}
function newLiveUser() {
//console.info('########### add');
//console.info(this);
for (var i = 0; i < this.models.length; i++) {
var userObj = this.models[i];
userObj._events.register("change:center", null, function() {
console.info('change:center');
});
userObj._events.register("move", null, function() {
console.info('move');
});
userObj._events.register("moved", null, function() {
console.info('move');
});
}
}
bootstrap_MapRaidOverlay();