I am trying to get streetview into a div element in Firefox and am
having problems. The script seems to work OK inside using IE 7. With
firefox it sizes the initial map w/StreetView overlay incorrectly
(small with border on right and bottom.), and the "click" function
does not fire a new pano window like it does in IE 7. I've attached
the code. Any help appreciated.
Jim Javanovice.
<%
// avoid caching of this page
response.setDateHeader("Expires",0);
response.setHeader("Pragma", "no-cache");
if (request.getProtocol().equals("HTTP/1.1")) {
response.setHeader("Cache-Control","no-cache");
}
// Get location parameters
String xArg = request.getParameter("x");
String yArg = request.getParameter("y");
String key = request.getParameter("key");
// Set as default viewer
session.setAttribute("gcxExternalMapVisualizationDefaultViewer",
request.getRequestURL().toString());
%>
<html>
<head>
<title>Google Maps Viewer</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/
>
<link href="../css/gcxExternalMap.css" rel="stylesheet" type="text/
css">
<!-- Include GoogleMaps API -->
<script type="text/javascript">
var key1 = '<' + 'script src="http://maps.google.com/maps?'
+ 'file=api&v=3&key=ABQIAAAAy3wawAYA7Cg2-
F3GGgvCGhTImgsh8XUXNHOaYYpgH4ADQD2CyBTcdkwKY2qRgPPiPia2JNbnAF3YIA"
type="text/javascript">'
+ '<' +'/script>';
var key2 = '<' + 'script src="http://maps.google.com/maps?'
+ 'file=api&v=3&key=ABQIAAAAy3wawAYA7Cg2-
F3GGgvCGhQSHHZOKn7XaOfw_LX-HahHxiXaFRTVkn8HI7Sy_hvRIysL0grpc4hRcg"
type="text/javascript">'
+ '<' +'/script>';
var key3 = '<' + 'script src="http://maps.google.com/maps?'
+ 'file=api&v=3&key=ABQIAAAAy3wawAYA7Cg2-
F3GGgvCGhSAZr2quCEJLrdfwLoRBiKME54zEhSpyVHDAID2sYjpSHQUmlrAR-3G6Q"
type="text/javascript">'
+ '<' +'/script>';
if (window.location.host == 'devmaps.waukeshacounty.gov') {
document.write(key1);
}
else if (window.location.host == 'devgis-int.waukeshacounty.gov')
{
document.write(key2);
}
else if (window.location.host == 'devgis.waukeshacounty.gov') {
document.write(key3);
}
</script>
<script type="text/javascript">
var map = null;
var x=<%= xArg %>;
var y=<%= yArg %>;
var width;
var height;
var xPosition = 70;
var yPosition = 0;
function incrementPosition() {
var xIncrement = 0;
var yIncrement = 17;
xPosition = xPosition + xIncrement;
yPosition = yPosition + yIncrement;
}
window.onresize = resizeMap;
function resizeMap() {
container = document.getElementById("map");
container.style.width = document.body.clientWidth + "px";
container.style.height = document.body.clientHeight + "px";
if (map) {
map.checkResize();
}
}
function yahooMapsControl() {
}
yahooMapsControl.prototype = new GControl();
yahooMapsControl.prototype.initialize = function(map) {
var yahooMaps = document.createElement("div");
yahooMaps.className = "GoogleMaps";
yahooMaps.title= "View in Yahoo Maps";
yahooMaps.noWrap = true;
yahooMaps.innerHTML = "Yahoo Maps";
GEvent.addDomListener(yahooMaps, "click", function() {
url="waugcxYahooMaps.jsp?x="+x+"&y="+y;
document.location=url;
});
map.getContainer().appendChild(yahooMaps);
return yahooMaps;
}
yahooMapsControl.prototype.getDefaultPosition = function() {
incrementPosition();
return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize
(xPosition, yPosition));
}
function imfControl() {
}
imfControl.prototype = new GControl();
imfControl.prototype.initialize = function(map) {
// Add IMF control
var imf = document.createElement("div");
imf.className = "GoogleMaps";
imf.title = "Zoom to location in IMF";
imf.noWrap = true;
imf.innerHTML = "Focus IMF";
GEvent.addDomListener(imf, "click", function() {
zf=457.2
var dMap = parent.frames['mapFrame'];
if (dMap == null) {
if (self.opener) {
dMap = self.opener.parent.frames['mapFrame'];
}
}
if (dMap == null) {
alert("Your IMF applicaion is no longer available.");
} else {
dMap.zoomToLonLat(x,y,zf);
}
});
map.getContainer().appendChild(imf);
return imf;
}
imfControl.prototype.getDefaultPosition = function() {
return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize
(xPosition, yPosition));
}
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(y, x), 17);
map.setMapType(G_HYBRID_MAP);
map.addMapType(G_PHYSICAL_MAP);
map.addMapType(G_SATELLITE_3D_MAP);
svOverlay = new GStreetviewOverlay();
map.addOverlay(svOverlay);
map.addControl(new GHierarchicalMapTypeControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.addControl(new GOverviewMapControl());
map.addControl(new GLargeMapControl());
map.addControl(new imfControl());
map.addControl(new yahooMapsControl());
// Add moveEnd function to recalculate center position
GEvent.addListener(map, "moveend", function() {
var center = map.getCenter();
x=center.lng();
y=center.lat();
});
// Add Panoramic function to recalculate lat/long position
var myPano = new GStreetviewPanorama(document.getElementById
("pano"));
GEvent.addListener(myPano, "error", handleNoFlash);
GEvent.addListener(map,"click", function(overlay,Glatlng) {
myPano.setLocationAndPOV(Glatlng);
var map = new GMap3(document.getElementById("map_canvas"));
});
resizeMap();
function handleNoFlash(errorCode) {
if (errorCode == FLASH_UNAVAILABLE) {
alert("Error: Flash doesn't appear to be supported by your
browser");
return;
}
}
}
}
</script>
</head>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 500px; height: 400px; position:
absolute; top:0px; left:0px"></div>
<div id="map_canvas" style="width: 500px; height: 300px"></div>
<div id="pano" style="width: 500px; height: 200px"></div>
</body>
</html>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Maps API For Flash" 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/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---