Мой Android Код
В настоящее время я использую открытый API JSON, чтобы взять маркер Google Map. Но у моих карт Google нет маркера. Я не знаю, в чем проблема. поэтому я хочу изменить свой исходный код
Я кореец, поэтому я не могу хорошо говорить по-английски sh, но я продолжаю писать предложения по-английски sh, поэтому я прошу их опубликовать их, поэтому я постарайтесь оставить много комментариев на переводчике. Я действительно хочу решить эту проблему сейчас, но я не знаю как. Я просто хотел спросить вас, знаете ли вы это.
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
getData();
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(37.510759, 126.977943), 15));
public void JsonParse(String str) {
JSONObject obj;
try { obj = new JSONObject(str);
JSONArray arr = obj.getJSONArray("item");
for(int i=0; i<arr.length(); i++){
JSONObject dataObj = arr.getJSONObject(i);
String name = dataObj.getString("spot_nm");
String Lat = dataObj.getString("la_crd");
String Lot = dataObj.getString("lo_crd");
drawMarker(new LatLng(Double.parseDouble(Lat),
Double.parseDouble(Lot)), name);
}
} catch (JSONException e) { e.printStackTrace(); } }
private void drawMarker(LatLng point, String name) {
mMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
.title(name)
.snippet(name)
.position(point));
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(point);
markerOptions.snippet(name);
mMap.addMarker(markerOptions);
}
public void getData() {
Thread readData = new Thread(new Runnable()
{
@Override public void run()
{
try { URL url = new URL( "http://apis.data.go.kr/B552061/jaywalking/getRestJaywalking?serviceKey=MqdwVh6v%2F%2Fj9Xs6QGMNV3uRlM4kA1oDTRE5NWot7GSuc9vpp84kH2O8%2BjbB5v59LDT6QN08LhIv2WmhoSmU6tQ%3D%3D&searchYearCd=2017&siDo=41&guGun=610&type=json&numOfRows=10&pageNo=1");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET"); connection.setDoInput(true); InputStream is = connection.getInputStream();
StringBuilder sb = new StringBuilder(); String result;
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
while((result = br.readLine())!=null)
{
sb.append(result).append("\n");
}
result = sb.toString();
JsonParse(result);
} catch (Exception e) {
e.printStackTrace();
} } });
readData.start();
try
{
readData.join();
}
catch (Exception e) {
e.printStackTrace();
}
}
}