function showPointDetails()
{
// This function needs the overlay from showMapPointInfo()
// but it's a callback function.
// How to get the overlay in here at the time of the callback?
// I want to attach an openInfoWindowHTML to it
// Fetch goodies regarding the clicked overlay from the server
// Open an info window with that information.
// Remove openInfoWindowHTML from showMapPointInfo
};
function showMapPointInfo(overlay, point)
{
if (overlay)
{
log (overlay.id);
overlay.openInfoWindowHtml(overlay.id);
//var url = '/map/' + escape(overlay.id) + '/map_point_detail/';
//var myPoints = loadJSONDoc(url);
//myPoints.addCallbacks(showPointDetails,pointsFetchFailed);
}
else if (point)
{
map.addOverlay(new GMarker(point));
}
};
function updateMapPoints()
{
var mapBounds = map.getBounds();
var url = '/map/' + escape(mapBounds) + '/map_points_in_bounds/';
var myPoints = loadJSONDoc(url);
myPoints.addCallbacks(processPoints,pointsFetchFailed);
};
function processPoints (myPoints)
{
map.clearOverlays();
point_count = myPoints.length;
for (var k = 0; k < point_count; k++ ) {
var mapPoint = new GLatLng(myPoints[k].lat,myPoints[k].lng);
var mapMarker = new GMarker(mapPoint);
mapMarker.id = myPoints[k].tag;
map.addOverlay(mapMarker);
};
};
function pointsFetchFailed (err) {
alert("Fetching points failed: " + err);
};
function initMap()
{
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl(), new
GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(20,20)));
map.setCenter(new GLatLng(44.937585003910904, -122.991943359375), 7);
updateMapPoints();
var clickListener = GEvent.addListener(map,"click",function(overlay,
point) {
showMapPointInfo(overlay, point);
} );
var dragendListener = GEvent.addListener(map,"dragend",function() {
updateMapPoints();
} );
var maptypechangedListener =
GEvent.addListener(map,"maptypechanged",function() {
updateMapPoints();
} );
var zoomendListener =
GEvent.addListener(map,"zoomend",function(previousZoomLevel, currentZoomLevel) {
updateMapPoints();
} );
};
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"MochiKit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/mochikit
-~----------~----~----~----~------~----~------~--~---