2017-01-26 2 views
0

osmdroid에서와 같이 mapsforge에서 경계 상자를 설정하는 방법과 pathLayer 위 또는 아래에 텍스트를 삽입하는 방법은 무엇입니까?osmdroid에서와 같이 mapsforge에서 경계 상자를 설정하는 방법과 pathLayer 위 또는 아래에 텍스트를 삽입하는 방법은 무엇입니까?

osmdroid에서는 보통 setScrollableAreaLimit() 메서드를 호출하지만 mapsforge에서는 mapView 메서드가 없습니다. 어떻게해야합니까?

또한 어떻게 을 PathLayer 아래 또는 위에 추가합니까? 당신이 전혀 mapsforge docs 보았다 경우 사용자가 제공 한 코드에서

//Bounding Box 
maxScrollableLimit = new BoundingBox(14.7882,121.1421,14.3469,120.8990); 

... 

private PathLayer createPathLayerFirst(PathWrapper response) { 
    Style style = Style.builder() 
      .generalization(Style.GENERALIZATION_SMALL) 
      .strokeColor(0x9900cc33) 
      .strokeWidth(4 * getResources().getDisplayMetrics().density) 
      .build(); 
    PathLayer pathLayer = new PathLayer(mapView.map(), style); 
    List<GeoPoint> geoPoints = new ArrayList<>(); 
    PointList pointList = response.getPoints(); 
    for (int i = 0; i < pointList.getSize(); i++) 
     geoPoints.add(new GeoPoint(pointList.getLatitude(i), pointList.getLongitude(i))); 
    pathLayer.setPoints(geoPoints); 
    return pathLayer; 
} 

답변

0

, 그것은 분명하지 않다. 먼저 그렇게 한 다음 내 대답으로 돌아가십시오.

지도의 한계를 설정 들어, ONSTART에 다음 코드를 추가() 메소드 :

mapView.getModel().mapViewPosition.setMapLimit(this.getBoundingBox()); 

와 같은 클래스에서

준비 다음과 같은 방법이 있습니다 레이어를 추가하려면

private BoundingBox getBoundingBox() { 
    final double MINLAT = Double.valueOf(res.getString(R.string.mapminlat)); 
    final double MINLON = Double.valueOf(res.getString(R.string.mapminlon)); 
    final double MAXLAT = Double.valueOf(res.getString(R.string.mapmaxlat)); 
    final double MAXLON = Double.valueOf(res.getString(R.string.mapmaxlon)); 
    return new BoundingBox(MINLAT, MINLON, MAXLAT, MAXLON); 
} 

을 다음을 수행하십시오.

mapView.getLayerManager().getLayers().add(layer); 

레이어를 만들려면 문서를 참조하십시오. examples을 자세히 살펴보십시오. LabelLayer가 당신이 찾고있는 것일 수도 있습니다.