You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Google Map API的APP医院直接导航实现方案咨询(无需谷歌语音)

Hey there! Let's break down how to solve your two main requirements: replacing the marker-only map opening with direct navigation, and enabling voice-free auto-navigation without relying on Google Voice. Here's a step-by-step guide tailored to common platform scenarios:

1. Replace Marker Display with Direct Navigation

Right now, your app opens a new tab to show a marker—we'll swap that for actions that kick off navigation directly, either within your app's embedded map or by launching the native navigation app.

For Web Apps (Using Google Maps JavaScript API)

Instead of opening a new tab, use the Directions Service to fetch and render routes directly on your existing map, then trigger navigation:

// Initialize directions tools (add this when setting up your map)
const directionsService = new google.maps.DirectionsService();
const directionsRenderer = new google.maps.DirectionsRenderer({
  map: yourExistingMapInstance, // Reference to your app's map
  suppressMarkers: false // Keep start/end markers visible (adjust as needed)
});

// Update your hospital marker click handler
hospitalMarker.addListener('click', () => {
  const navigationRequest = {
    origin: userCurrentLatLng, // Your existing user location data
    destination: hospitalLatLng, // Target hospital's coordinates/address
    travelMode: google.maps.TravelMode.DRIVING // Use WALKING/TRANSIT if needed
  };

  // Fetch and render the route
  directionsService.route(navigationRequest, (result, status) => {
    if (status === google.maps.DirectionsStatus.OK) {
      directionsRenderer.setDirections(result);
      // Optional: Add a button to launch native navigation from here
    }
  });
});

For Mobile Web/Native Apps (Launch Native Navigation)

Skip the browser tab entirely and launch the user's default navigation app (Google Maps/Apple Maps) directly using URL schemes:

// Web example for Google Maps
hospitalMarker.addListener('click', () => {
  const navUrl = `google.navigation:q=${hospitalLat},${hospitalLng}&mode=d`;
  window.location.href = navUrl; // Launches native Google Maps in navigation mode
});

2. Enable Voice-Free Auto-Navigation

To turn off Google Voice during navigation, adjust your implementation based on the platform:

Web Mobile

Add the voice=0 parameter to the Google Maps URL scheme to mute voice guidance:

const navUrl = `google.navigation:q=${hospitalLat},${hospitalLng}&mode=d&voice=0`;
window.location.href = navUrl;

Native Android

Use either the URL intent or Google Maps SDK to mute voice:

// Option 1: URL Intent
val navUri = Uri.parse("google.navigation:q=Hospital+Address&mode=d&voice=0")
val mapIntent = Intent(Intent.ACTION_VIEW, navUri).apply {
  setPackage("com.google.android.apps.maps")
}
startActivity(mapIntent)

// Option 2: Google Maps SDK Navigation Component
val options = NavigationLauncherOptions.Builder()
  .setDestination(hospitalLatLng)
  .setOrigin(userLatLng)
  .setVoiceMuted(true) // Disable voice guidance
  .build()
NavigationLauncher.startNavigation(this, options)

Native iOS

Mute voice using the Google Maps SDK or URL scheme:

// Option 1: Google Maps SDK Navigation View Controller
let navVC = GMSNavigationViewController(
  origin: userLocation,
  destination: hospitalLocation,
  travelMode: .driving
)
navVC.isVoiceMuted = true
present(navVC, animated: true)

// Option 2: URL Scheme for Google Maps
if let navUrl = URL(string: "comgooglemaps://?daddr=Hospital+Address&directionsmode=driving&mute=1") {
  if UIApplication.shared.canOpenURL(navUrl) {
    UIApplication.shared.open(navUrl)
  }
}

Quick Notes

  • Make sure your app has the necessary location permissions to access the user's current position.
  • For native apps, double-check that you've integrated the Google Maps SDK and configured your API key correctly.
  • URL scheme parameters may evolve, so test with the latest version of Google Maps to ensure compatibility.

内容的提问来源于stack exchange,提问作者user9550681

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:37:52