2016-07-15 5 views
2

저는 MapTiler를 사용하여 Android지도가있는 Google지도 위에 오버레이하여 많은 행운이없는 타일을 만들었습니다. 안드로이드 문서는이 주제에서 꽤 희소하지만 나는 올바르게 작동한다고 생각하는 것을했습니다. 그러나 정확한 레벨로 확대 할 때 타일을 보지 않을 것입니다. onMapReady() 콜백에서 오버레이를 만들려고하는데 다른 곳에서해야합니까?android 및 google maps가 포함 된 TileOverlay

여기가 onMapReady 방법에 대해 가지고있는 코드는 : 여기

@Override 
public void onMapReady(GoogleMap googleMap) { 
    googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 
    googleMap.setMyLocationEnabled(true); 
    CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(44.481705,-114.9378269)).zoom(16).build(); 
    googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 
    mTileOverlay = googleMap.addTileOverlay(new TileOverlayOptions() 
    .tileProvider((new UrlTileProvider(256, 256) { 
     @Override 
     public URL getTileUrl(int x, int y, int zoom) { 
      String s = "http://www.example.com/tiles/"+zoom+"/"+x+"/"+y+".png"; 
      // added this logging to see what the url is 
      Log.d("home", s); 
      try { 
       return new URL(s); 
      } catch (MalformedURLException e) { 
       throw new AssertionError(e); 
      } 
     } 
    }))); 
} 

어떤 아이디어?

TIA

편집 : 좀 로깅의 '(내 URL)를 반환 상황을 확인하기 위해 추가 한, 그것은 올바른 URL을 반환있어 내 서버가 해당 URL에서 올바르게 타일을 제공하고있다하지만 여전히 안드로이드에서지도에 아무것도 보이지 않습니다.

+2

코드가 정확합니다. 잘 알려진 타일 서비스를 사용하여 확인할 수 있습니까? 예를 들어'String s = "http://b.tile.openstreetmap.org/"+ zoom + "/"+ x + "/"+ y + ".png"; ' – antonio

+0

나는 내 getTileUrl) 그것을 죽이고 있었다. 내가 그것을 제거한 이후로 모든 것이 지금 작동 중이다. 댓글 주셔서 감사합니다. –

+0

다행히 들었습니다. 이 질문이 다른 사람들을 도울 수 있도록 대답을 게시하고 수락 할 수 있습니까? – antonio

답변

0

이미지가 반환되지 않도록하는 getTileUrl() 메서드에서 축배를 보았습니다. 내가 그것을 제거했을 때, 타일은 올바르게 제공되었습니다.

관련 문제