Skip to content

Instantly share code, notes, and snippets.

@davecowart
Created March 29, 2011 20:47
Show Gist options
  • Save davecowart/893235 to your computer and use it in GitHub Desktop.
Save davecowart/893235 to your computer and use it in GitHub Desktop.
RAGE
/// <summary>
/// Create String for Google Map based on Dealer
/// </summary>
/// <param name="latitude"></param>
/// <param name="longitude"></param>
private void DisplayDealerMap(double latitude, double longitude) {
StringBuilder sbMap = new StringBuilder();
sbMap.AppendFormat(@" <script language=""javascript"" type=""text/javascript"">{0}", Environment.NewLine);
sbMap.AppendFormat(@" //<![CDATA[{0}", Environment.NewLine);
sbMap.AppendFormat(@" function loadGoogleMap(){0}", Environment.NewLine);
sbMap.AppendFormat(@" {{ {0}", Environment.NewLine);
sbMap.AppendFormat(@" if (GBrowserIsCompatible()){0}", Environment.NewLine);
sbMap.AppendFormat(@" {{ {0}", Environment.NewLine);
sbMap.AppendFormat(@" var icon = new GIcon();{0}", Environment.NewLine);
//Added to help center map better - JC
sbMap.AppendFormat(@" var bounds = new GLatLngBounds();{0}", Environment.NewLine);
sbMap.AppendFormat(@" icon.image = ""/images/dealerLocator/markerLarge.png"";{0}", Environment.NewLine);
sbMap.AppendFormat(@" icon.iconSize = new GSize(50, 38);{0}", Environment.NewLine);
sbMap.AppendFormat(@" icon.iconAnchor = new GPoint(37, 59);{0}", Environment.NewLine);
sbMap.AppendFormat(@" icon.infoWindowAnchor = new GPoint(31, 8);{0}", Environment.NewLine);
sbMap.AppendFormat(@"{0}", Environment.NewLine);
sbMap.AppendFormat(@" var map = new GMap2(document.getElementById(""googleAPI""));{0}", Environment.NewLine);
sbMap.AppendFormat(@" map.setCenter(new GLatLng({1}, {2}), 11);{0}", Environment.NewLine, latitude, longitude);
sbMap.AppendFormat(@" map.addControl(new GSmallMapControl());{0}", Environment.NewLine);
sbMap.AppendFormat(@" map.addControl(new GMapTypeControl());");
sbMap.AppendFormat(@" {0}", Environment.NewLine);
sbMap.AppendFormat(@" var point;{0}", Environment.NewLine);
sbMap.AppendFormat(@" point = new GLatLng({1},{2});{0}", Environment.NewLine, latitude, longitude);
sbMap.AppendFormat(@" addMarker(map, point, icon);{0}", Environment.NewLine);
// Didnt work - JC
//Try and get the initial Dealer Map more accurate
sbMap.AppendFormat(@" bounds.extend(point);{0}", Environment.NewLine);
// ===== determine the zoom level from the bounds =====
sbMap.AppendFormat(@" map.setZoom(map.getBoundsZoomLevel(bounds));{0}", Environment.NewLine);
// ===== Set Zoom Level Max to 19 max -CD
sbMap.AppendFormat(@" map.getMaximumResolution = getMaxZoom();{0}", Environment.NewLine);
// ===== determine the centre from the bounds ====== -CD Set Zoom level to the highest one:19
sbMap.AppendFormat(@" map.setCenter(bounds.getCenter(),19);{0}", Environment.NewLine);
// JC One more freakin' time, try to "step out" twice to make this one dealer happy with the default zoom level
//sbMap.AppendFormat(@" map.zoomOut();{0}", Environment.NewLine);
//sbMap.AppendFormat(@" map.zoomOut();{0}", Environment.NewLine);
sbMap.AppendFormat(@" {0}", Environment.NewLine);
sbMap.AppendFormat(@" }}{0}", Environment.NewLine);
sbMap.AppendFormat(@" }}{0}loadGoogleMap();{0}", Environment.NewLine);
sbMap.AppendFormat(@" {0}", Environment.NewLine);
sbMap.AppendFormat(@" function addMarker(map, point, icon){0}", Environment.NewLine);
sbMap.AppendFormat(@" {{ {0}", Environment.NewLine);
sbMap.AppendFormat(@" var marker = new GMarker(point, icon);{0}", Environment.NewLine);
sbMap.AppendFormat(@" map.addOverlay(marker);{0}", Environment.NewLine);
sbMap.AppendFormat(@" }}{0}", Environment.NewLine);
sbMap.AppendFormat(@" function getMaxZoom(){0}", Environment.NewLine);
sbMap.AppendFormat(@" {{ {0}", Environment.NewLine);
sbMap.AppendFormat(@" return 19;{0}", Environment.NewLine);
sbMap.AppendFormat(@" }}{0}", Environment.NewLine);
sbMap.AppendFormat(@" //]]>{0}", Environment.NewLine);
sbMap.AppendFormat(@" </script>");
litMap.Text = sbMap.ToString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment