MapActivity.java
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
try {
setUpMapIfNeeded();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
private void setUpMapIfNeeded() throws IOException, XmlPullParserException {
if (mMap == null) {
mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
}
});
if (mMap != null) {
setUpMap();
}
}
}
private void setUpMap() throws XmlPullParserException, IOException {
XmlPullParser parser = getResources().getXml(R.xml.areadata);
String tag = null;
int event_type = parser.getEventType();
ArrayList<PharmDTO> list = new ArrayList();
String xpos = null, ypos = null, name = null;
while (event_type != XmlPullParser.END_DOCUMENT) {
if (event_type == XmlPullParser.START_TAG) {
tag = parser.getName();
} else if (event_type == XmlPullParser.TEXT) {
/**
* 금연구역의 위도,경도, 이름만 가져와본다.
*/
if (tag.equals("금연구역명")) {
name = parser.getText();
} else if (tag.equals("위도")) {
xpos = parser.getText();
} else if (tag.equals("경도")) {
ypos = parser.getText();
}
} else if (event_type == XmlPullParser.END_TAG) {
tag = parser.getName();
if (tag.equals("Row")) {
PharmDTO entity = new PharmDTO();
entity.setXpos(Double.valueOf(xpos));
entity.setYpos(Double.valueOf(ypos));
entity.setName(name);
list.add(entity);
}
}
event_type = parser.next();
}
for(PharmDTO entity : list) {
options = new MarkerOptions();
options.position(new LatLng(entity.getYpos(), entity.getXpos()));
options.title(entity.getName());
options.icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation));
mMap.addMarker(options);
}
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
areadata.xml
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
<?xml version="1.0" encoding="utf-8"?>
<root>
<Row>
<금연구역명>거북공원</금연구역명>
<금연구역범위상세>공원면적 전체</금연구역범위상세>
<시도명>경상남도</시도명>
<시군구명>김해시</시군구명>
<금연구역구분>공원</금연구역구분>
<금연구역지정근거명>국민건강증진법 제9조제4항및제5항</금연구역지정근거명>
<금연구역면적>25573</금연구역면적>
<위반과태료>50000</위반과태료>
<위반신고연락처>055-330-4514</위반신고연락처>
<소재지도로명주소 />
<소재지지번주소>경상남도 김해시 내동 1116-2</소재지지번주소>
<관리기관명>경상남도 김해시청</관리기관명>
<위도>35.2359329</위도>
<경도>128.8652152</경도>
<데이터기준일자>2016-06-10</데이터기준일자>
</Row>
<Row>
<금연구역명>경운공원</금연구역명>
<금연구역범위상세>공원면적 전체</금연구역범위상세>
<시도명>경상남도</시도명>
<시군구명>김해시</시군구명>
<금연구역구분>공원</금연구역구분>
<금연구역지정근거명>국민건강증진법 제9조제4항및제5항</금연구역지정근거명>
<금연구역면적>10555</금연구역면적>
<위반과태료>50000</위반과태료>
<위반신고연락처>055-330-4514</위반신고연락처>
<소재지도로명주소 />
<소재지지번주소>경상남도 김해시 외동 707</소재지지번주소>
<관리기관명>경상남도 김해시청</관리기관명>
<위도>35.2365437</위도>
<경도>128.853133</경도>
<데이터기준일자>2016-06-10</데이터기준일자>
</Row>
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
이런식으로 되어있는데 xml 문서 자체를 읽어오지 못하는건지 지도상에 표시가 안되네요..
몇일 째 구글링 해도 모르겠어서 질문드립니다ㅠ