GLatLng.prototype.moveTowards = function(point, distance) { var lat1 = this.lat().toRad(); var lon1 = this.lng().toRad(); var lat2 = point.lat().toRad(); var lon2 = point.lng().toRad(); var dLon = (point.lng() - this.lng()).toRad();
// Find the bearing from this point to the next. var brng = Math.atan2(Math.sin(dLon) * Math.cos(lat2), Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLon));
var angDist = distance / 6371000; // Earth's radius.
// Calculate the destination point, given the source and bearing. lat2 = Math.asin(Math.sin(lat1) * Math.cos(angDist) + Math.cos(lat1) * Math.sin(angDist) * Math.cos(brng));
function moveAlongPath(points, distance, index) { index = index || 0; // Set index to 0 by default.
if (index < points.length) { // There is still at least one point further from this point.
// Construct a GPolyline to use the getLength() method. var polyline = new GPolyline([points[index], points[index + 1]]);
// Get the distance from this point to the next point in the polyline. var distanceToNextPoint = polyline.getLength();
if (distance <= distanceToNextPoint) { // distanceToNextPoint is within this point and the next. // Return the destination point with moveTowards(). return points[index].moveTowards(points[index + 1], distance); } else { // The destination is further from the next point. Subtract // distanceToNextPoint from distance and continue recursively. return moveAlongPath(points, distance - distanceToNextPoint, index + 1); } } else { // There are no further points. The distance exceeds the length // of the full path. Return null. return null; } }
var map = new GMap2(document.getElementById('map_canvas'));
var points = [ <? $result = mysql_query("SELECT * FROM location ORDER BY id DESC LIMIT 50"); while($row = mysql_fetch_array($result)){ echo 'new GLatLng('.$row['latitude'].', '.$row['longitude'].'),';
}?> ];
var polyline = new GPolyline(points, '#f00', 6);
var nextMarkerAt = 0; // Counter for the marker checkpoints. var nextPoint = null; // The point where to place the next marker.
// Draw the path on the map. map.addOverlay(polyline);
// Draw the checkpoint markers every 1000 meters. while (true) { // Call moveAlongPath which will return the GLatLng with the next // marker on the path. nextPoint = moveAlongPath(points, nextMarkerAt);
if (nextPoint) { // Draw the marker on the map.
map.addOverlay(new GMarker(nextPoint));
// Add +1000 meters for the next checkpoint. nextMarkerAt += 10000; } else { // moveAlongPath returned null, so there are no more check points. break; } } </script> </body> </html> [/CODE]
to display a map with a route on it i need to change a few things
1......Only have markers where there are GEO locations()
2......I want to be able to click the markers or hover and get more information like time (stored in database with $row['latitude'] and $row['longitude'])
While I think that there are no "100% good guys" in this world (no country is), I do think that there are "less bad guys" or "preferred bad guys". From my personal POV, of course, I'd say that I prefer to side with Israel, the US and the Western world before siding with Iran, Hezbollah, Hamas, Russia, China and North Korea.
The "Western world" team has always been better regarding economics, freedoms and human rights than the "non-Western world" team. Israeli people have a degree of prosperity and freedom that Iranian, Russian and North Korean people could only dream about, that's a fact. The same applies to the "Western world" as a whole. Just look at the quality of life of the inhabitants of the "non-Western" world: it's measurably worst by any metric.
So that's why I choose to side with the West, every time. Results speak for themselves. Even if the West isn't perfect and 100% "good", either.
*lose
Anyway, had a feeling this was going to happen eventually which is why I started using NextDNS. The ad blocking on that is amazing (especially on android). It will be interesting to see how it works paired with ublock origin lite as I know the regular ublock origin extension removes a lot of ad placeholders
Question
Craig Hopson
hi guys been using this code
to display a map with a route on it i need to change a few things
1......Only have markers where there are GEO locations()
2......I want to be able to click the markers or hover and get more information like time (stored in database with $row['latitude'] and $row['longitude'])
Link to comment
https://www.neowin.net/forum/topic/1120438-google-map-api/Share on other sites
1 answer to this question
Recommended Posts