The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
Static page help
I have a chunk of code that I want to embed into a static page for a special google map. I have a plain html document that was fully working. inserted the script src in the head of my header include template. then I put the rest of the info into the php static page I created in my site. here is the complete code. can someone tell me what I might need to break up different for it to work properly? The map doesnt display at all.
Im not sure how to change the body onload for it to work either. Thanks, Clayton HTML Code:
<html xmlns="http://www.w3.org/1999/xhtml"> <head><title>Local Search</title> <script src="http://maps.google.com/maps?file=api&v=2.208&key=ABQIAAAAxe4iZkOij75xEW-P40HsMRTNwwIDB3X2PJ0_br5ee44ut2pm8RRiA2ku6cwsTFtWlCY7kcRdnEPIDA" type="text/javascript"></script> <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=key=ABQIAAAA56VORbMXHHZDQW--tkfsVhRPDJc4Qn4hoLuv9RM61ENX1JJLTBSNSGHUDP_MmNTc3QFBOUJJsiqbhg" type="text/javascript"></script> <script src="http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js?adsense=pub-1227201690587661" type="text/javascript"></script> <script type="text/javascript" language="JavaScript"> var myMap = null; var localSearch = null; var myQueryControl = null; function displayMap(){ myMap = new GMap2(document.getElementById("map")); myMap.setCenter(new GLatLng(31.805122,-96.399603), 10); myMap.addControl(new GSmallMapControl()); myMap.addControl(new GMapTypeControl()); localSearch = new google.maps.LocalSearch();//{externalAds : document.getElementById("ads")}); myMap.addControl(localSearch); myQueryControl = new QueryControl(localSearch); myMap.addControl(myQueryControl); GEvent.addListener(myMap, "click", function(overlay, point) { if (point) { singleClick = !singleClick; setTimeout("if (singleClick) createCircle(new GLatLng("+ point.y + ", " + point.x +"), 250);", 300); } }); } </script> <style type="text/css"> @import url("http://www.google.com/uds/css/gsearch.css"); @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); div#GQueryControl { background-color: white; width: 155; } </style> </head> <body onload="displayMap();" style="width: 75%; height: 75%; margin: 0px;"> <div id="map" style="width: 100%; height: 95%;"></div> <div style="font-family: arial, sans-serif;">Map for Freestone</div> <!--div id="QueryControl"></div> <div id="ads"> </div --> <script> var metric = false; var singleClick = false; var queryCenterOptions = new Object(); var queryLineOptions = new Object(); queryCenterOptions.icon = new GIcon(); queryCenterOptions.icon.image = "http://jfno.net/images/centerArrow.png"; queryCenterOptions.icon.iconSize = new GSize(20,20); queryCenterOptions.icon.shadowSize = new GSize(0, 0); queryCenterOptions.icon.iconAnchor = new GPoint(10, 10); queryCenterOptions.draggable = true; queryCenterOptions.bouncy = false; queryLineOptions.icon = new GIcon(); queryLineOptions.icon.image = "http://jfno.net/images/resizeArrow.png"; queryLineOptions.icon.iconSize = new GSize(25,20); queryLineOptions.icon.shadowSize = new GSize(0, 0); queryLineOptions.icon.iconAnchor = new GPoint(12, 10); queryLineOptions.draggable = true; queryLineOptions.bouncy = false; function createCircle(point, radius) { singleClick = false; geoQuery = new GeoQuery(); geoQuery.initializeCircle(radius, point, myMap); myQueryControl.addGeoQuery(geoQuery); geoQuery.render(); } function destination(orig, hdng, dist) { var R = 6371; // earth's mean radius in km var oX, oY; var x, y; var d = dist/R; // d = angular distance covered on earth's surface hdng = hdng * Math.PI / 180; // degrees to radians oX = orig.x * Math.PI / 180; oY = orig.y * Math.PI / 180; y = Math.asin( Math.sin(oY)*Math.cos(d) + Math.cos(oY)*Math.sin(d)*Math.cos(hdng) ); x = oX + Math.atan2(Math.sin(hdng)*Math.sin(d)*Math.cos(oY), Math.cos(d)-Math.sin(oY)*Math.sin(y)); y = y * 180 / Math.PI; x = x * 180 / Math.PI; return new GLatLng(y, x); } function distance(point1, point2) { var R = 6371; // earth's mean radius in km var lon1 = point1.lng()* Math.PI / 180; var lat1 = point1.lat() * Math.PI / 180; var lon2 = point2.lng() * Math.PI / 180; var lat2 = point2.lat() * Math.PI / 180; var deltaLat = lat1 - lat2 var deltaLon = lon1 - lon2 var step1 = Math.pow(Math.sin(deltaLat/2), 2) + Math.cos(lat2) * Math.cos(lat1) * Math.pow(Math.sin(deltaLon/2), 2); var step2 = 2 * Math.atan2(Math.sqrt(step1), Math.sqrt(1 - step1)); return step2 * R; } function GeoQuery() { } GeoQuery.prototype.CIRCLE='circle'; GeoQuery.prototype.COLORS=["#0000ff", "#00ff00", "#ff0000"]; var COLORI=0; GeoQuery.prototype = new GeoQuery(); GeoQuery.prototype._map; GeoQuery.prototype._type; GeoQuery.prototype._radius; GeoQuery.prototype._dragHandle; GeoQuery.prototype._centerHandle; GeoQuery.prototype._polyline; GeoQuery.prototype._color ; GeoQuery.prototype._control; GeoQuery.prototype._points; GeoQuery.prototype._dragHandlePosition; GeoQuery.prototype._centerHandlePosition; GeoQuery.prototype.initializeCircle = function(radius, point, map) { this._type = this.CIRCLE; this._radius = radius; this._map = map; this._dragHandlePosition = destination(point, 90, this._radius/1000); this._dragHandle = new GMarker(this._dragHandlePosition, queryLineOptions); this._centerHandlePosition = point; this._centerHandle = new GMarker(this._centerHandlePosition, queryCenterOptions); this._color = this.COLORS[COLORI++ % 3]; map.addOverlay(this._dragHandle); map.addOverlay(this._centerHandle); var myObject = this; GEvent.addListener (this._dragHandle, "dragend", function() {myObject.updateCircle(1);}); GEvent.addListener (this._dragHandle, "drag", function() {myObject.updateCircle(1);}); GEvent.addListener(this._centerHandle, "dragend", function() {myObject.updateCircle(2);}); GEvent.addListener(this._centerHandle, "drag", function() {myObject.updateCircle(2);}); } GeoQuery.prototype.updateCircle = function (type) { this._map.removeOverlay(this._polyline); if (type==1) { this._dragHandlePosition = this._dragHandle.getPoint(); this._radius = distance(this._centerHandlePosition, this._dragHandlePosition) * 1000; this.render(); } else { this._centerHandlePosition = this._centerHandle.getPoint(); this.render(); this._dragHandle.setPoint(this.getEast()); } } GeoQuery.prototype.render = function() { if (this._type == this.CIRCLE) { this._points = []; var distance = this._radius/1000; for (i = 0; i < 72; i++) { this._points.push(destination(this._centerHandlePosition, i * 360/72, distance) ); } this._points.push(destination(this._centerHandlePosition, 0, distance) ); //this._polyline = new GPolyline(this._points, this._color, 6); this._polyline = new GPolygon(this._points, this._color, 1, 1, this._color, 0.2); this._map.addOverlay(this._polyline) this._control.render(); } } GeoQuery.prototype.remove = function() { this._map.removeOverlay(this._polyline); this._map.removeOverlay(this._dragHandle); this._map.removeOverlay(this._centerHandle); } GeoQuery.prototype.getRadius = function() { return this._radius; } GeoQuery.prototype.getHTML = function() { return "<span><font color='"+ this._color + "''>" + this.getDistHtml() + "</font></span>"; } GeoQuery.prototype.getDistHtml = function() { result = "<img src='http://jfno.net/images/close.gif' onClick='myQueryControl.remove(" + this._control.getIndex(this) + ");'/>Radius "; if (metric) { if (this._radius < 1000) { result += "in meters : " + this._radius.toFixed(1); } else { result += "in kilometers : " + (this._radius / 1000).toFixed(1); } } else { var radius = this._radius * 3.2808399; if (radius < 5280) { result += "in feet : " + radius.toFixed(1); } else { result += "in miles : " + (radius / 5280).toFixed(1); } } return result; } GeoQuery.prototype.getNorth = function() { return this._points[0]; } GeoQuery.prototype.getSouth = function() { return this._points[(72/2)]; } GeoQuery.prototype.getEast = function() { return this._points[(72/4)]; } GeoQuery.prototype.getWest = function() { return this._points[(72/4*3)]; } function QueryControl (localSearch) { this._localSearch = localSearch; } QueryControl.prototype = new GControl(); QueryControl.prototype._geoQueries ; QueryControl.prototype._mainDiv; QueryControl.prototype._queriesDiv; QueryControl.prototype._minStar; QueryControl.prototype._minPrice; QueryControl.prototype._maxPrice; QueryControl.prototype._timeout; QueryControl.prototype._localSearch; QueryControl.prototype.getDefaultPosition = function() { return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(50, 10)); } QueryControl.prototype.addGeoQuery = function(geoQuery) { this._geoQueries.push(geoQuery); geoQuery._control = this; newDiv = document.createElement("div"); newDiv.innerHTML = geoQuery.getHTML(); this._queriesDiv.appendChild(newDiv); } QueryControl.prototype.render = function() { for (i = 0; i < this._geoQueries.length; i++) { geoQuery = this._geoQueries[i]; this._queriesDiv.childNodes[i].innerHTML = geoQuery.getHTML(); } if (this._timeout == null) { this._timeout = setTimeout(myQueryControl.query, 1000); } else { clearTimeout(this._timeout); this._timeout = setTimeout(myQueryControl.query, 1000); } } QueryControl.prototype.query = function() { listMarkers = myQueryControl._localSearch.markers.slice(); for (i = 0; i < listMarkers.length; i++) { marker = listMarkers[i].marker; result = listMarkers[i].resultsListItem; listImage = marker.getIcon().image; inCircle = true; for (j = 0; j < myQueryControl._geoQueries.length; j++) { geoQuery = myQueryControl._geoQueries[j]; dist = distance(marker.getLatLng(), geoQuery._centerHandlePosition); if (dist > geoQuery._radius / 1000) { inCircle = false; break; } } if (inCircle) { marker.setImage(listImage); result.childNodes[1].style.color = '#0000cc'; } else { var re = new RegExp(".*(marker.\.png)"); marker.setImage(listImage.replace(re, "img/$1")); result.childNodes[1].style.color = '#b0b0cc'; } } } QueryControl.prototype.remove = function(index) { this._geoQueries[index].remove(); this._queriesDiv.removeChild(this._queriesDiv.childNodes[index]); delete this._geoQueries[index]; this._geoQueries.splice(index,1); this.render(); } QueryControl.prototype.getIndex = function(geoQuery) { for (i = 0; i < this._geoQueries.length; i++) { if (geoQuery == this._geoQueries[i]) { return i; } } return -1; } </script> </body> </html> |
#2
|
|||
|
|||
Hmm...not quite sure what you're trying to do. If you have a static page working, why are you trying to make a php page out of it? In any case, you can just put the html in a .php file and it would work.
|
#3
|
|||
|
|||
I am making it a static page sorry.
|
#4
|
|||
|
|||
Cool, if that gives you what you want - otherwise don't hesistate to explain . After I posted I thought it might have been that you wanted to add the vb style to your page, which would make sense.
|
#5
|
|||
|
|||
No I created a static page in my cms plugged in the code. applied the src files to the header include of my vbulletin site, and it doesnt work. I am needing help. try embedding that code in a static page and see if it works for you. I cant get it to display. here is a url look in firebug it doesnt display
http://www.texasmx.com/forums/conten...County-Raceway |
#6
|
|||
|
|||
Oh, OK, my mistake. When you said you wanted a static page I was thinking an html file. But you'll have to help me out (because the truth is I don't know everything about the CMS), when you say you made it a "php static page", what exactly do you mean by that?
|
#7
|
|||
|
|||
I corrected my self a couple posts ago, I said a static page. no php
|
#8
|
|||
|
|||
Oh, OK, I get it now. But still, what does that mean, is that the same as a static HTML widget?
|
#9
|
|||
|
|||
look at the pic from the cms section. static page
|
#10
|
|||
|
|||
Oh...I'm an idiot. OK, thanks. Anyway, I tried this:
Code:
<script src="http://maps.google.com/maps?file=api&v=2.208&key=ABQIAAAAxe4iZkOij75xEW-P40HsMRTNwwIDB3X2PJ0_br5ee44ut2pm8RRiA2ku6cwsTFtWlCY7kcRdnEPIDA" type="text/javascript"></script> <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&key=key=ABQIAAAA56VORbMXHHZDQW--tkfsVhRPDJc4Qn4hoLuv9RM61ENX1JJLTBSNSGHUDP_MmNTc3QFBOUJJsiqbhg" type="text/javascript"></script> <script src="http://www.google.com/uds/solutions/localsearch/gmlocalsearch.js?adsense=pub-1227201690587661" type="text/javascript"></script> <script type="text/javascript" language="JavaScript"> var myMap = null; var localSearch = null; var myQueryControl = null; function displayMap(){ myMap = new GMap2(document.getElementById("map")); myMap.setCenter(new GLatLng(31.805122,-96.399603), 10); myMap.addControl(new GSmallMapControl()); myMap.addControl(new GMapTypeControl()); localSearch = new google.maps.LocalSearch();//{externalAds : document.getElementById("ads")}); myMap.addControl(localSearch); myQueryControl = new QueryControl(localSearch); myMap.addControl(myQueryControl); GEvent.addListener(myMap, "click", function(overlay, point) { if (point) { singleClick = !singleClick; setTimeout("if (singleClick) createCircle(new GLatLng("+ point.y + ", " + point.x +"), 250);", 300); } }); } </script> <style type="text/css"> @import url("http://www.google.com/uds/css/gsearch.css"); @import url("http://www.google.com/uds/solutions/localsearch/gmlocalsearch.css"); div#GQueryControl { background-color: white; width: 155; } </style> <div id="map" style="width: 100%; height: 95%;"></div> <div style="font-family: arial, sans-serif;">Map for Freestone</div> <!--div id="QueryControl"></div> <div id="ads"> </div --> <script> var metric = false; var singleClick = false; var queryCenterOptions = new Object(); var queryLineOptions = new Object(); queryCenterOptions.icon = new GIcon(); queryCenterOptions.icon.image = "http://jfno.net/images/centerArrow.png"; queryCenterOptions.icon.iconSize = new GSize(20,20); queryCenterOptions.icon.shadowSize = new GSize(0, 0); queryCenterOptions.icon.iconAnchor = new GPoint(10, 10); queryCenterOptions.draggable = true; queryCenterOptions.bouncy = false; queryLineOptions.icon = new GIcon(); queryLineOptions.icon.image = "http://jfno.net/images/resizeArrow.png"; queryLineOptions.icon.iconSize = new GSize(25,20); queryLineOptions.icon.shadowSize = new GSize(0, 0); queryLineOptions.icon.iconAnchor = new GPoint(12, 10); queryLineOptions.draggable = true; queryLineOptions.bouncy = false; function createCircle(point, radius) { singleClick = false; geoQuery = new GeoQuery(); geoQuery.initializeCircle(radius, point, myMap); myQueryControl.addGeoQuery(geoQuery); geoQuery.render(); } function destination(orig, hdng, dist) { var R = 6371; // earth's mean radius in km var oX, oY; var x, y; var d = dist/R; // d = angular distance covered on earth's surface hdng = hdng * Math.PI / 180; // degrees to radians oX = orig.x * Math.PI / 180; oY = orig.y * Math.PI / 180; y = Math.asin( Math.sin(oY)*Math.cos(d) + Math.cos(oY)*Math.sin(d)*Math.cos(hdng) ); x = oX + Math.atan2(Math.sin(hdng)*Math.sin(d)*Math.cos(oY), Math.cos(d)-Math.sin(oY)*Math.sin(y)); y = y * 180 / Math.PI; x = x * 180 / Math.PI; return new GLatLng(y, x); } function distance(point1, point2) { var R = 6371; // earth's mean radius in km var lon1 = point1.lng()* Math.PI / 180; var lat1 = point1.lat() * Math.PI / 180; var lon2 = point2.lng() * Math.PI / 180; var lat2 = point2.lat() * Math.PI / 180; var deltaLat = lat1 - lat2 var deltaLon = lon1 - lon2 var step1 = Math.pow(Math.sin(deltaLat/2), 2) + Math.cos(lat2) * Math.cos(lat1) * Math.pow(Math.sin(deltaLon/2), 2); var step2 = 2 * Math.atan2(Math.sqrt(step1), Math.sqrt(1 - step1)); return step2 * R; } function GeoQuery() { } GeoQuery.prototype.CIRCLE='circle'; GeoQuery.prototype.COLORS=["#0000ff", "#00ff00", "#ff0000"]; var COLORI=0; GeoQuery.prototype = new GeoQuery(); GeoQuery.prototype._map; GeoQuery.prototype._type; GeoQuery.prototype._radius; GeoQuery.prototype._dragHandle; GeoQuery.prototype._centerHandle; GeoQuery.prototype._polyline; GeoQuery.prototype._color ; GeoQuery.prototype._control; GeoQuery.prototype._points; GeoQuery.prototype._dragHandlePosition; GeoQuery.prototype._centerHandlePosition; GeoQuery.prototype.initializeCircle = function(radius, point, map) { this._type = this.CIRCLE; this._radius = radius; this._map = map; this._dragHandlePosition = destination(point, 90, this._radius/1000); this._dragHandle = new GMarker(this._dragHandlePosition, queryLineOptions); this._centerHandlePosition = point; this._centerHandle = new GMarker(this._centerHandlePosition, queryCenterOptions); this._color = this.COLORS[COLORI++ % 3]; map.addOverlay(this._dragHandle); map.addOverlay(this._centerHandle); var myObject = this; GEvent.addListener (this._dragHandle, "dragend", function() {myObject.updateCircle(1);}); GEvent.addListener (this._dragHandle, "drag", function() {myObject.updateCircle(1);}); GEvent.addListener(this._centerHandle, "dragend", function() {myObject.updateCircle(2);}); GEvent.addListener(this._centerHandle, "drag", function() {myObject.updateCircle(2);}); } GeoQuery.prototype.updateCircle = function (type) { this._map.removeOverlay(this._polyline); if (type==1) { this._dragHandlePosition = this._dragHandle.getPoint(); this._radius = distance(this._centerHandlePosition, this._dragHandlePosition) * 1000; this.render(); } else { this._centerHandlePosition = this._centerHandle.getPoint(); this.render(); this._dragHandle.setPoint(this.getEast()); } } GeoQuery.prototype.render = function() { if (this._type == this.CIRCLE) { this._points = []; var distance = this._radius/1000; for (i = 0; i < 72; i++) { this._points.push(destination(this._centerHandlePosition, i * 360/72, distance) ); } this._points.push(destination(this._centerHandlePosition, 0, distance) ); //this._polyline = new GPolyline(this._points, this._color, 6); this._polyline = new GPolygon(this._points, this._color, 1, 1, this._color, 0.2); this._map.addOverlay(this._polyline) this._control.render(); } } GeoQuery.prototype.remove = function() { this._map.removeOverlay(this._polyline); this._map.removeOverlay(this._dragHandle); this._map.removeOverlay(this._centerHandle); } GeoQuery.prototype.getRadius = function() { return this._radius; } GeoQuery.prototype.getHTML = function() { return "<span><font color='"+ this._color + "''>" + this.getDistHtml() + "</font></span>"; } GeoQuery.prototype.getDistHtml = function() { result = "<img src='http://jfno.net/images/close.gif' onClick='myQueryControl.remove(" + this._control.getIndex(this) + ");'/>Radius "; if (metric) { if (this._radius < 1000) { result += "in meters : " + this._radius.toFixed(1); } else { result += "in kilometers : " + (this._radius / 1000).toFixed(1); } } else { var radius = this._radius * 3.2808399; if (radius < 5280) { result += "in feet : " + radius.toFixed(1); } else { result += "in miles : " + (radius / 5280).toFixed(1); } } return result; } GeoQuery.prototype.getNorth = function() { return this._points[0]; } GeoQuery.prototype.getSouth = function() { return this._points[(72/2)]; } GeoQuery.prototype.getEast = function() { return this._points[(72/4)]; } GeoQuery.prototype.getWest = function() { return this._points[(72/4*3)]; } function QueryControl (localSearch) { this._localSearch = localSearch; } QueryControl.prototype = new GControl(); QueryControl.prototype._geoQueries ; QueryControl.prototype._mainDiv; QueryControl.prototype._queriesDiv; QueryControl.prototype._minStar; QueryControl.prototype._minPrice; QueryControl.prototype._maxPrice; QueryControl.prototype._timeout; QueryControl.prototype._localSearch; QueryControl.prototype.getDefaultPosition = function() { return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(50, 10)); } QueryControl.prototype.addGeoQuery = function(geoQuery) { this._geoQueries.push(geoQuery); geoQuery._control = this; newDiv = document.createElement("div"); newDiv.innerHTML = geoQuery.getHTML(); this._queriesDiv.appendChild(newDiv); } QueryControl.prototype.render = function() { for (i = 0; i < this._geoQueries.length; i++) { geoQuery = this._geoQueries[i]; this._queriesDiv.childNodes[i].innerHTML = geoQuery.getHTML(); } if (this._timeout == null) { this._timeout = setTimeout(myQueryControl.query, 1000); } else { clearTimeout(this._timeout); this._timeout = setTimeout(myQueryControl.query, 1000); } } QueryControl.prototype.query = function() { listMarkers = myQueryControl._localSearch.markers.slice(); for (i = 0; i < listMarkers.length; i++) { marker = listMarkers[i].marker; result = listMarkers[i].resultsListItem; listImage = marker.getIcon().image; inCircle = true; for (j = 0; j < myQueryControl._geoQueries.length; j++) { geoQuery = myQueryControl._geoQueries[j]; dist = distance(marker.getLatLng(), geoQuery._centerHandlePosition); if (dist > geoQuery._radius / 1000) { inCircle = false; break; } } if (inCircle) { marker.setImage(listImage); result.childNodes[1].style.color = '#0000cc'; } else { var re = new RegExp(".*(marker.\.png)"); marker.setImage(listImage.replace(re, "img/$1")); result.childNodes[1].style.color = '#b0b0cc'; } } } QueryControl.prototype.remove = function(index) { this._geoQueries[index].remove(); this._queriesDiv.removeChild(this._queriesDiv.childNodes[index]); delete this._geoQueries[index]; this._geoQueries.splice(index,1); this.render(); } QueryControl.prototype.getIndex = function(geoQuery) { for (i = 0; i < this._geoQueries.length; i++) { if (geoQuery == this._geoQueries[i]) { return i; } } return -1; } displayMap(); </script> ETA: OK, got my own api key so I can see that the above isn't working..I'll try a few other things. OK, it seems to work if I change the height attribute to some number of pixels instead of 95%, but I have no idea why that is. Maybe someone else can help? |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|