Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
语音路线导航谷歌地图android_Android_Google Maps_Google Maps Api 3 - Fatal编程技术网

语音路线导航谷歌地图android

语音路线导航谷歌地图android,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,我试图为我的项目实现语音路线导航谷歌地图。但我不知道如何实现这一点。我有起点和终点。我可以在我的应用程序中实现还是重定向到手机默认的谷歌地图?请指导我..处理以下URL以获取源坐标和目标坐标之间的位置 StringBuilder urlString = new StringBuilder(); urlString.append("http://maps.google.com/maps/api/directions/xml?origin="); ur

我试图为我的项目实现语音路线导航谷歌地图。但我不知道如何实现这一点。我有起点和终点。我可以在我的应用程序中实现还是重定向到手机默认的谷歌地图?请指导我..

处理以下URL以获取源坐标和目标坐标之间的位置

StringBuilder urlString = new StringBuilder();
            urlString.append("http://maps.google.com/maps/api/directions/xml?origin=");
            urlString.append( Double.toString((double)srcGeoPoint.getLatitudeE6()/1.0E6 )); 
            urlString.append(","); 
            urlString.append( Double.toString((double)srcGeoPoint.getLongitudeE6()/1.0E6 )); 
            urlString.append("&destination=");//to 
            urlString.append( Double.toString((double)destGeoPoint.getLatitudeE6()/1.0E6 )); 
            urlString.append(","); 
            urlString.append( Double.toString((double)destGeoPoint.getLongitudeE6()/1.0E6 )); 
            urlString.append("&sensor=true&mode=driving"); 
从上面的URL获得响应后,使用以下方法对字符串进行编码

private List<GeoPoint> decodePoly(String encoded) {

            List<GeoPoint> poly = new ArrayList<GeoPoint>();
            int index = 0, len = encoded.length();
            int lat = 0, lng = 0;

            while (index < len) {
                int b, shift = 0, result = 0;
                do {
                    b = encoded.charAt(index++) - 63;
                    result |= (b & 0x1f) << shift;
                    shift += 5;
                } while (b >= 0x20);
                int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
                lat += dlat;

                shift = 0;
                result = 0;
                do {
                    b = encoded.charAt(index++) - 63;
                    result |= (b & 0x1f) << shift;
                    shift += 5;
                } while (b >= 0x20);
                int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1));
                lng += dlng;

                GeoPoint p = new GeoPoint((int) (((double) lat / 1E5) * 1E6),
                        (int) (((double) lng / 1E5) * 1E6));
                poly.add(p);
            }

            return poly;
        }
私有列表解码多边形(字符串编码){
List poly=new ArrayList();
int index=0,len=encoded.length();
int lat=0,lng=0;
while(指数>1):(结果>>1));
lat+=dlat;
移位=0;
结果=0;
做{
b=编码的.charAt(索引++)-63;
结果|=(b&0x1f)=0x20);
int-dlng=((结果&1)!=0?~(结果>>1):(结果>>1));
液化天然气+=液化天然气;
地质点p=新的地质点((int)((双)纬度/1E5)*1E6),
(国际)(双)液化天然气/1E5)*1E6);
poly.add(p);
}
返回多边形;
}
在使用画布绘制对位置之间的路径进行编码之后


注意:对于语音路由,您可以使用TTS(文本到语音)

是否根据谷歌隐私政策允许使用TTS?在第10.2节中,我认为这是不允许的,但我不确定。有人能确认吗?