Posted on Saturday 29 January 2005
I had some free time a little while back to create a Mapquest toolbar for Firefox. I never got time to finish it, but I figured I'd post the code and maybe find someone who has the knowledge and time to modify it. It's working as is, but it needs a couple more things: remembering the last selected state, select text on click, links, and packaging it up into an XPI. In browser.xul:
<script type="application/x-javascript" src="chrome://browser/content/mapquest.js" />
<!-- Much later ... -->
<toolbar id="mapquest-bar" class="toolbar-primary chromeclass-toolbar"
toolbarname="Mapquest" accesskey=""
fullscreentoolbar="false" mode="icons"
customizable="false"
defaultset="mapquest-button"
context="toolbar-context-menu">
<hbox id="mapquest-controls" fullscreencontrol="true">
<label control="some-text" value="MAPQUEST" />
<textbox id="address" />
<textbox id="city" />
<menulist label="state" id="state">
<menupopup height="200">
<menuitem value="" label="- State -">
<menuitem value="US-AK" label="Alaska" />
<menuitem value="US-AL" label="Alabama" />
<menuitem value="US-AR" label="Arkansas" />
<menuitem value="US-AZ" label="Arizona" />
<menuitem value="US-CA" label="California" />
<menuitem value="US-CT" label="Connecticut" />
<menuitem value="US-DC" label="DC" />
<menuitem value="US-DE" label="Delaware" />
<menuitem value="US-FL" label="Florida" />
<menuitem value="US-GA" label="Georgia" />
<menuitem value="US-HI" label="Hawaii" />
<menuitem value="US-IA" label="Iowa" />
<menuitem value="US-ID" label="Idaho" />
<menuitem value="US-IL" label="Illinois" />
<menuitem value="US-IN" label="Indiana" />
<menuitem value="US-KS" label="Kansas" />
<menuitem value="US-KY" label="Kentucky" />
<menuitem value="US-LA" label="Louisiana" />
<menuitem value="US-MA" label="Massachusetts " />
<menuitem value="US-MD" label="Maryland" />
<menuitem value="US-ME" label="Maine " />
<menuitem value="US-MI" label="Michigan" />
<menuitem value="US-MN" label="Minnesota " />
<menuitem value="US-MO" label="Missouri" />
<menuitem value="US-MS" label="Mississippi " />
<menuitem value="US-MT" label="Montana " />
<menuitem value="US-NC" label="North Carolina" />
<menuitem value="US-ND" label="North Dakota" />
<menuitem value="US-NE" label="Nebraska" />
<menuitem value="US-NH" label="New Hampshire " />
<menuitem value="US-NJ" label="New Jersey" />
<menuitem value="US-NM" label="New Mexico" />
<menuitem value="US-NV" label="Nevada" />
<menuitem value="US-NY" label="New York" />
<menuitem value="US-OH" label="Ohio" />
<menuitem value="US-OK" label="Oklahoma" />
<menuitem value="US-OR" label="Oregon" />
<menuitem value="US-PA" label="Pennsylvania" />
<menuitem value="US-RI" label="Rhode Island" />
<menuitem value="US-SC" label="South Carolina" />
<menuitem value="US-SD" label="South Dakota" />
<menuitem value="US-TN" label="Tennessee " />
<menuitem value="US-TX" label="Texas " />
<menuitem value="US-UT" label="Utah" />
<menuitem value="US-VA" label="Virginia" />
<menuitem value="US-VT" label="Vermont " />
<menuitem value="US-WA" label="Washington" />
<menuitem value="US-WI" label="Wisconsin " />
<menuitem value="US-WV" label="West Virginia " />
<menuitem value="US-WY" label="Wyoming " />
<menuitem value="" label="- Province -" />
<menuitem value="CA-AB" label="Alberta" />
<menuitem value="CA-BC" label="British Columbia" />
<menuitem value="CA-MB" label="Manitoba" />
<menuitem value="CA-NB" label="New Brunswick" />
<menuitem value="CA-NL" label="Newfoundland" />
<menuitem value="CA-NS" label="Nova Scotia" />
<menuitem value="CA-NT" label="NWT" />
<menuitem value="CA-NU" label="Nunavut" />
<menuitem value="CA-ON" label="Ontario" />
<menuitem value="CA-PE" label="PEI" />
<menuitem value="CA-QC" label="Quebec" />
<menuitem value="CA-SK" label="Saskatchewan" />
<menuitem value="CA-YT" label="Yukon Territory" />
</menupopup>
</menulist>
<textbox id="zipcode" />
<button label="Go!" id="mapquest-button" class="" tooltiptext="&fullScreenMinimize.tooltip;" oncommand="getMapquest();" />
</hbox>
</toolbar>
And in mapquest.js:
function getMapquest()
{
var _url = "http://www.mapquest.com/maps/map.adp?tb=1&address="
_url += escape(document.getElementById('address').value);
_url += "&city=";
_url += escape(document.getElementById('city').value);
_url += "&state=";
_url += document.getElementById('state').value.substring(3,5);
_url += "&zipcode="
_url += escape(document.getElementById('zipcode').value);
_url += "&country=";
_url += document.getElementById('state').value.substring(0,2);
gBrowser.addTab(_url, null);
}


