如何通过JavaScript Google Maps API创建谷歌地图未收录的步行路线
Absolutely! You can absolutely build a custom, space-efficient walking route that isn’t present in Google Maps’ default database using the JavaScript Google Maps API. This is perfect for creating paths like private trails, shortcut walkways, or compact internal routes that Google hasn’t mapped yet. Here’s a breakdown of how to pull this off:
Core Approach: Custom Polyline Rendering
The key tool here is the google.maps.Polyline class, which lets you draw a custom line on the map using a set of latitude/longitude coordinates you define. Since you want a compact route, you’ll just need to map out the precise points of your path (you can grab these coordinates using Google Maps’ right-click "What's here?" feature).
Step-by-Step Implementation
- Initialize your Google Map: Set up a basic map instance centered on the area where your custom route will sit.
- Define your route coordinates: Create an array of
LatLngobjects representing each key point of your tight walking path. Keep points close together for precise, compact coverage. - Create and add the Polyline: Configure the polyline with distinct styles (like a bright color to stand out from default routes) and attach it to your map.
- Add interactivity (optional): Make the route clickable, draggable, or add info windows to highlight key spots along the path.
Example Code Snippet
// Initialize the map function initMap() { const map = new google.maps.Map(document.getElementById("map"), { zoom: 16, center: { lat: 37.7749, lng: -122.4194 }, // Example: San Francisco area }); // Define your compact walking route coordinates const routeCoordinates = [ { lat: 37.7750, lng: -122.4195 }, { lat: 37.7748, lng: -122.4190 }, { lat: 37.7745, lng: -122.4188 }, { lat: 37.7743, lng: -122.4192 }, // Add more points to refine your tight path ]; // Create the custom polyline for the walking route const walkingRoute = new google.maps.Polyline({ path: routeCoordinates, geodesic: true, strokeColor: "#FF0000", // Bright red to stand out from default routes strokeOpacity: 1.0, strokeWeight: 4, }); // Add the route to the map walkingRoute.setMap(map); // Optional: Add a click listener to show route details walkingRoute.addListener("click", () => { alert("Custom compact walking route"); }); }
Extra Tips for Compact Routes
- Optimize coordinate points: Remove redundant points to keep the path tight without losing precision—this boosts performance and visual clarity.
- Use path encoding: If you have a long list of points, use
google.maps.geometry.encoding.encodePath()to compress coordinate data, making it easier to store and load. - Align with walking rules: If you want to ensure the route stays walkable, overlay the polyline on a walking-layer map and avoid points that fall on non-walkable areas like busy roads.
内容的提问来源于stack exchange,提问作者Mohammed Ait

