您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
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();