2016-12-12 19 views
-1

クリック可能なPolyGonを作成しようとしています。私はこのStackOverFlowで既に回答しているメソッドを試しました。しかし、何も働いていない。次のように 私のコードはGoogleMapでPolyGonのイベントをクリック

JSONObject jsonObj = new JSONObject(result); 
        final JSONArray jsonArray = jsonObj.getJSONArray("zones"); 
        int i; 

        System.out.println("PolyGon---> Response jsonArray " + jsonArray); 
        for (i = 0; i < jsonArray.length(); i++) { 
         JSONArray jsonArrayPoly = jsonArray.getJSONObject(i).getJSONArray("coordinates"); 
         System.out.println("PolyGon---> Response coordinates " + jsonArrayPoly); 
         polygonOptions = new PolygonOptions(); 
         polygonOptions.strokeColor(Color.BLACK); 
         polygonOptions.strokeWidth(2); 
         polygonOptions.fillColor(getResources().getColor(R.color.zone)); 
         for (int j = 0; j < jsonArrayPoly.length(); j++) { 
          JSONObject jsonCoordinate = jsonArrayPoly.getJSONObject(j); 
          System.out.println("PolyGon---> Response lat " + jsonCoordinate.getDouble("lat") + " ----> Long"); 
          polygonOptions.add(new LatLng(jsonCoordinate.getDouble("lat"), jsonCoordinate.getDouble("lng"))); 
         } 

         googleMap.addPolygon(polygonOptions); 

        } 

        polygonOptions.clickable(true); 

        googleMap.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() { 
         public void onPolygonClick(Polygon polygon) { 
          Toast.makeText(getApplicationContext(), "Problem reading list of markers.", Toast.LENGTH_LONG).show(); 

         } 
        }); 

あなたの答えは、より理解されるべきである、です。

答えて

1

マップにあなたのポリゴンを追加する前に、あなたのPolygonOptions.clickableを設定します。あなたは `polygonOptions.clickable(true)を掲載コードで

polygonOptions.clickable(true); 
googleMap.addPolygon(polygonOptions); 
+0

;' 'googleMap.addPolygon(polygonOptions)の後である;' – antonio

+0

はい、あります。ありがとうございます –

関連する問題