blogs

Building a reusable Windows Control with MapQuest API 5.3 and C#

Time to take the MapQuest API 5.3 beta a step further and see how hard it is to embed MapQuest mapping a windows application. As a developer I'm constantly thinking "is this a one time effort? or do I want to reuse this code?". Well for embedding MapQuest into my .NET application I would like to create a reusable component, in fact, I'd like to create a WinForm usercontrol which can be reused in any application simply by dragging and dropping the control onto a form.

Userplane Plug-Ins

People are looking for original content in many different places, as are advertisers. This takes us into a whole new ballgame. – Jeff Zucker

I've been talking a lot about Userplane lately. In my previous blog posts (Make Cash with Userplane, Userplane Administration, Integrate Userplane with Wordpress - Part 1 and Part 2) I showed you how to begin integrating Userplane with your WordPress blog site, and in my article I showed you how to integrate Userplane Desktop with WordPress. Marty Kube also showed you how to begin working with Userplane in Facebook.

Zoom Levels and Image Overlays

In this post I will continue my discussion of overlays in the MapQuest JavaScript API 5.2. My last two posts covered a couple of methods for adding rollover functionality to overlays. Over the next couple of posts I will discuss some of the options that are available when working with image overlays.

There are a few things that set image overlays apart from the other overlay types. The one that poses the biggest obstacle is image resolution. Since an image overlay is "pinned" to a map with Lat and Lng coordinates, there is a significant difference in resolution required to display an image properly at different zoom levels. If this becomes an issue for your application, one of the options that is available is the setImageOverlayLevels method provided by the API.

DonateNow Mashup Challenge -- Do Some Good, Earn Some Cash

My goal as a developer has always been to produce products that have a positive, lasting impact on the user experience. Having spent a good part of my career in the non-profit sector, I understand the added challenges of meeting this goal. Tight (non-existent) budgets and little access to enterprise resources play a big part as barriers to working in this field from a technological perspective. Luckily there are a number of organizations whose goal is to support nearly every facet of this industry to ensure their success. One of these organizations, Netsquared is promoting the DonateNow Mashup Challenge, sponsored by The Case Foundation. This is a contest which challenges you to create the most innovative solution which supports the online donation process using the Network for Good API. Come up with the winning idea and you've earned yourself $10,000.

Zoom Levels and Image Overlays

In this post I will continue my discussion of overlays in the MapQuest JavaScript API 5.2. My last two posts covered a couple of methods for adding rollover functionality to overlays. Over the next couple of posts I will discuss some of the options that are available when working with image overlays.

There are a few things that set image overlays apart from the other overlay types. The one that poses the biggest obstacle is image resolution. Since an image overlay is "pinned" to a map with Lat and Lng coordinates, there is a significant difference in resolution required to display an image properly at different zoom levels. If this becomes an issue for your application, one of the options that is available is the setImageOverlayLevels method provided by the API.

More on Userplane Desktop Authentication

Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months. - Clifford Stoll

This week I wanted to give a plug to my Userplane Desktop article that was just published, and talk just a bit more about how easy it really is to integrate Userplane Desktop authentication with your community. Userplane Desktop allows web communities to extend their presence beyond just their web site, pushing updates to user when they're made available.

Using Map Overlays with Flex and the Mapquest 5.2 APIs

Ok, I was driving (very carefully, mind you) on a very sunny afternoon to the airport, and I got a call from my very bright and brilliant niece who recently enrolled into Michigan State University (MSU if you're a Michigan native). During the midpoint of the conversation, all I heard was "cell phone silence", for lack of a better term, and within a few more seconds the call was dropped -- argh!

Obviously, I'm not the only person in the world who gets aggravated when a mobile call gets dropped. Of course, my wireless carrier has to go unnamed here in order to protect the guilty... er, uh... innocent.

Create a Geo File

In my previous MapQuest posts I've mostly been demonstrating how to use MapQuest to display the the various types of geo-formats (KML, GeoRSS, etc). Building on the examples of map event interaction from my previous posts, we can also build an interactive map interface where users can build their own geo-format files. Here's an example where users can interactively click on the map to create a polyline.


<html>
<head>
<title>Create a Geo File</title>
<script src="http://btilelog.access.mapquest.com/tilelog/transaction?
  transaction=script&key=YOUR-API-KEY&ipr=true&itk=true&v=5.2.0"
  type="text/javascript">&t;/script>
<script language="javascript">

MQInitDojo(initMap);
var myOverlayColl = new MQOverlayCollection();
var myShapePts = new MQLatLngCollection();
var myOL = new MQLineOverlay();
var allclicks  = new Array(0);
function showClick(event) {
    // log all clicks
    allclicks.push(event.ll.getLatitude(), 
      event.ll.getLongitude());
    // add clicks to polyline overlay
    myShapePts.add (new MQLatLng(event.ll.getLatitude(), 
     event.ll.getLongitude()));
    myOL.setShapePoints(myShapePts);
    myOverlayColl.add(myOL); 
    myMap.replaceOverlays(myOverlayColl); 
    // clear previous markers and add new start and end points
    myMap.removeAllPois()
    myMap.addPoi(new MQPoi(new MQLatLng(allclicks[0], allclicks[1])));
    if ( allclicks.length > 1 ) {
        myMap.addPoi(new MQPoi(new 
         MQLatLng(allclicks[allclicks.length-2],
         allclicks[allclicks.length-1])));
    }
}
function display() {
    alert (allclicks);
}
function initMap() {
   myMap = new MQTileMap(document.getElementById('mapDiv'),8,
    new MQLatLng(33.173676, -116.714889));
   myMap.addControl(new MQLargeZoomControl(myMap));
   MQEventManager.addListener(myMap,"click",showClick);
}
</script>
</head>
<body>
<div id="mapDiv" style="width:384px; height:384px; border:2px solid"></div>
<a href="#" onclick="display();">Display Coordinates</a>
</body>

</html>

As you can see, I'm simply using an 'alert' to display the captured latitudes and longitudes of the polyline that the user created. Obviously the next task is to transform that array of coordinates into your favorite geo-format. Here is a screenshot of the result:

Share-A-Map AIM Plugin

Developer David Bello has written a great plug-in for AIM called "Share-a-Map." That clever name may have something to do with why we're covering it here.

Right from the copy in the AIM Gallery:

Share-a-map is an AOL AIM plugin that let you share maps with a friend via AIM in an interactive way. This plugin can be extremely useful when you want to share a location, route or place with a friend or relative, plus other features like add images and hand drawing overlays, find an address or point, save your map, among others.

We've been playing with it here in the office and it is a really sweet way to do some map collaboration.

AOL Open Voice embraces industry standards

AOL has opened up it's AOL Voice Services by offering the Open Voice API. This API allows any client application which supports the following industry standards to 'just work' with AOL Voice Services:

  • RFC 3261 - Session Initiation Protocol
  • RFC 2833 - RTP Payload for DTFM Digits, Telephony Tones and Telephony Signals
  • RFC 4028 - Session Timers in SIP
  • ITU-T E.164 - Formatted Telephone Numbers
  • RFC 2617 - Basic and Digest Access Authentication
Syndicate content