Talk:Bookmarklets View history

(→‎Map editing: Added segment lock script)
No edit summary
Line 1: Line 1:
{{ForumLink|94974}}
== Expanded views ==
== Expanded views ==
These expanded view scripts serve as the source for the scripts on [[Bookmarklets]]. Be sure when updating any of the scripts on that page that the update is first done with this code and then pass the code through a Javascript compressor like [http://javascriptcompressor.com/ this one] and then paste that result into the main page.
These expanded view scripts serve as the source for the scripts on [[Bookmarklets]]. Be sure when updating any of the scripts on that page that the update is first done with this code and then pass the code through a Javascript compressor like [http://javascriptcompressor.com/ this one] and then paste that result into the main page.

Revision as of 21:26, 27 June 2014

Please bring up comments or questions about this in
 this forum topic.

Expanded views

These expanded view scripts serve as the source for the scripts on Bookmarklets. Be sure when updating any of the scripts on that page that the update is first done with this code and then pass the code through a Javascript compressor like this one and then paste that result into the main page.

Map editing

Open Waze Map Editor from LiveMap

javascript:(function(){
    var center_lonlat=new OpenLayers.LonLat(wazeMap.center.lon,wazeMap.center.lat);
    center_lonlat.transform(new OpenLayers.Projection('EPSG:900913'), new OpenLayers.Projection('EPSG:4326'));
    var mapZoom=(window.location.hostname=='world.waze.com' ? (wazeMap.zoom<5 ? (wazeMap.zoom<2 ? wazeMap.zoom+6 : wazeMap.zoom+5) : 9) : (wazeMap.zoom<5 ? wazeMap.zoom+11 : 15));
    window.open('http://'+window.location.hostname+'/livemap/?zoom='+mapZoom+'&lon='+center_lonlat.lon+'&lat='+center_lonlat.lat,'LiveMap');
})();

Open LiveMap from Waze Map Editor

javascript:(function(){
    var center_lonlat=OpenLayers.Layer.SphericalMercator.inverseMercator(g_map.getCenter().lon,g_map.getCenter().lat);
    var mapZoom=(window.location.hostname=='www.waze.com' ? (g_map.zoom>6 ? (g_map.zoom>7 ? g_map.zoom-5 : g_map.zoom-6) : 0) : (g_map.zoom>10 ? g_map.zoom-11 : 0));
    window.open('http://'+window.location.hostname+'/editor/?zoom='+mapZoom+'&lon='+center_lonlat.lon+'&lat='+center_lonlat.lat,'Waze Map Editor');
})();

Set segment locks in area

javascript:(function() {

  /* value used is -1 from rank visible in WME */
  /* fwy_lvl = 3 would appear locked at 4 in WME */
  var fwy_lvl = 3;
  var rmp_lvl = 3;
  var maj_lvl = 2;
  var min_lvl = 1;
  var pri_lvl = 1;
  var absolute = false;
  var count = 0;
  Object.forEach(W.model.segments.objects, function(k, v) {
    if (count < 150 && v.onScreen() && v.isGeometryEditable()) {
      /* fwy */
      if (v.attributes.roadType == 3 && (v.attributes.lockRank < fwy_lvl || (absolute && v.attributes.lockRank != fwy_lvl))) {
   count++;
        W.model.actionManager.add(new Waze.Action.UpdateSegmentDetails(v, {lockRank: fwy_lvl}));
      }
      /* ramp */
      if (v.attributes.roadType == 4 && (v.attributes.lockRank < rmp_lvl || (absolute && v.attributes.lockRank != rmp_lvl))) {
        count++;
        W.model.actionManager.add(new Waze.Action.UpdateSegmentDetails(v, {lockRank: rmp_lvl}));
      }
      /* MH */
      if (v.attributes.roadType == 6 && (v.attributes.lockRank < maj_lvl || (absolute && v.attributes.lockRank != maj_lvl))) {
        count++;
        W.model.actionManager.add(new Waze.Action.UpdateSegmentDetails(v, {lockRank: maj_lvl}));
      }
      /* mH */
      if (v.attributes.roadType == 7 && (v.attributes.lockRank < min_lvl || (absolute && v.attributes.lockRank != min_lvl))) {
        count++;
        W.model.actionManager.add(new Waze.Action.UpdateSegmentDetails(v, {lockRank: min_lvl}));
      }
      /* primary */
      if (v.attributes.roadType == 2 && (v.attributes.lockRank < pri_lvl || (absolute && v.attributes.lockRank != pri_lvl))) {
        count++;
        W.model.actionManager.add(new Waze.Action.UpdateSegmentDetails(v, {lockRank: pri_lvl}));
      }
    }
  });
})();

User information and communication

Create private message for user

javascript:(function(){
    var s = '';
    if (window.getSelection) {
        s = window.getSelection();
    } else if (document.getSelection) {
        s = document.getSelection();
    } else if (document.selection) {
        s = document.selection.createRange().text;
    }
    if (s == "") {
        var s = prompt("Enter Username for sending PM (or highlight name before selecting bookmarklet).");
    }
    if ((s != "") && (s != null)) {
        window.location.href="http://www.waze.com/forum/ucp.php?i=pm&mode=compose&username="+s;
    }
})();

Display user's forum posts

javascript:(function(){
    var s = '';
    if (window.getSelection) {
        s = window.getSelection();
    } else if (document.getSelection) {
        s = document.getSelection();
    } else if (document.selection) {
        s = document.selection.createRange().text;
    }
    if (s == "") {
        var s = prompt("Enter Username to view forum posts (or highlight name before selecting bookmarklet).");
    }
    if ((s != "") && (s != null)) {
        window.location.href="http://www.waze.com/forum/search.php?keywords=&terms=all&sv=0&sc=1&sf=all&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Search&author="+s;
    }
})();

Display user's Wiki page

javascript:(function(){
    var s = '';
    if (window.getSelection) {
        s = window.getSelection();
    } else if (document.getSelection) {
        s = document.getSelection();
    } else if (document.selection) {
        s = document.selection.createRange().text;
    }
    if (s == "") {
        var s = prompt("Enter Username for Wiki user page (or highlight name before selecting bookmarklet).");
    }
    if ((s != "") && (s != null)) {
        window.location.href="http://wiki.waze.com/wiki/User:"+s;
    }
})();

Display user's Wiki contributions

javascript:(function(){
    var s = "";
    if (window.getSelection) {
        s = window.getSelection();
    } else if (document.getSelection) {
        s = document.getSelection();
    } else if (document.selection) {
        s = document.selection.createRange().text;
    }
    if (s == "") {
        var s = prompt("Enter Username for Wiki contributions (or highlight name before selecting bookmarklet).");
    }
    if ((s != "") && (s != null)) {
        window.location.href="http://wiki.waze.com/wiki/Special:Contributions/"+s;
    }
})();