2014-08-29 3 views
0

Google지도에 추가 한 포인트에서 폴리 라인을 추가하려고합니다. 도로에 표시해야합니다 (.geodesic (true)로 설정). 내 XML에서 두 점만 추가하면 선이 그려지지만 측지선이 아닙니다. 하지만 실제 문제는 : 시도하면 앱이 전혀 작동하지 않는 내 XML에있는 모든 점을 추가하는 사람이 내 코드 문제가 무엇인지 아이디어가 있습니까Android에서 PolylineOptions에 포인트 추가 GoogleMap API 2 작동하지 않음

XML 파일 :.?

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

<string-array name="coordinates"> 
    <item name="waypoint1">50.991185 , 7.131250</item> 
    <item name="waypoint2">50.990601 , 7.131534</item> 
    <item name="waypoint3">50.991678 , 7.130603</item> 
    <item name="waypoint4">51.000614 , 7.137122</item> 
    <item name="waypoint5">51.003929, 7.146833</item> 
    <item name="waypoint6">51.003853, 7.146931</item> 
    <item name="waypoint7">51.003697, 7.147666</item> 
    <item name="waypoint8">51.003964, 7.148090</item> 
    <item name="waypoint9">51.003982, 7.148470</item> 
</string-array> 
    </resources> 

방법하지 않은 작동 :

private void drawline(){ 
    String[] coordinates = getResources().getStringArray(R.array.coordinates); 
    List<LatLng> waypoints = new ArrayList<LatLng>(); 
    LatLng[] latlng = new LatLng[coordinates.length]; 


    for(int i=0;i < coordinates.length;i++){ 
     String coordinate[] = coordinates[i].split(","); 
     double x = Double.parseDouble(coordinate[i]); 
     double y = Double.parseDouble(coordinate[i]); 
     latlng[i] = new LatLng(x,y);  
    } 

    for (int i=0; i < coordinates.length; i++){ 
    waypoints.add(latlng[i]); 
    } 

    PolylineOptions options = new PolylineOptions() 
     .color(Color.BLUE) 
     .geodesic(true) 
     .width(5) 
     .addAll(waypoints); 

    Polyline pfad = mMap.addPolyline(options); 
    } 

나는 LatLng List로 좌표를 저장하는 여러 가지 방법이 있지만 결코 작동하지 않습니다. anybode가 나를 도울 수 있다면 정말 행복 할거야. 어째서 라인이 지리적 인 선으로 그려지지 않는지에 대한 아이디어가있을 수도 있습니다.

for(int i=0;i < coordinates.length;i++){ 
    String coordinate[] = coordinates[i].split(","); 
    double x = Double.parseDouble(coordinate[i]); 
    double y = Double.parseDouble(coordinate[i]); 
    latlng[i] = new LatLng(x,y);  
} 

당신은 쉼표 (,)로 좌표를 분할 (괜찮아입니다)하지만 당신은 잘못된 인덱스를 읽고 :

+0

당신의 LatLng를 배열 – Dhaval

+0

http://wptrafficanalyzer.in/blog/gps-and-google-map-in-android-applications-series/를 작성하지 않기 때문에 일부 자습서를 보라 이리. 당신은 적절한 방법을 찾을거야 – Dhaval

+0

@Dhaval 왜 채워지지 않습니까? – Simas

답변

0

귀하의 문제는이 루프입니다. 대신를 사용

double x = Double.parseDouble(coordinate[0]); 
double y = Double.parseDouble(coordinate[1]); 
관련 문제