: 다음은 내 코드
@Override
public void onMapReady(GoogleMap googleMap) {
deviceMap = googleMap;
deviceMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
if(customM != null)
customM.remove();
customM = deviceMap.addMarker(new MarkerOptions().position(point).icon(bmD).title(getString(R.string.customPos)));
}
});
if (deviceMap != null) {
try{
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.temp_bts_icon);
deviceM = deviceMap.addMarker(new MarkerOptions().position(devicePos).title(getString(R.string.devicePos))
.icon(BitmapDescriptorFactory.fromBitmap(bm)));
bm = BitmapFactory.decodeResource(getResources(), R.drawable.phone);
telephoneM = deviceMap.addMarker(new MarkerOptions().position(telephonePos).title(getString(R.string.telephonePos))
.icon(BitmapDescriptorFactory.fromBitmap(bm)));
}catch (Exception e){
Toast.makeText(Globals.MainActivity, "Error retrieving icons", Toast.LENGTH_SHORT).show();
deviceM = deviceMap.addMarker(new MarkerOptions().position(devicePos).title(getString(R.string.devicePos))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
telephoneM = deviceMap.addMarker(new MarkerOptions().position(telephonePos).title(getString(R.string.telephonePos))
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
}
updateDeviceMarker();
deviceMap.getUiSettings().setMyLocationButtonEnabled(true);
deviceMap.getUiSettings().setZoomGesturesEnabled(true);
deviceMap.getUiSettings().setZoomControlsEnabled(true);
deviceMap.getUiSettings().setCompassEnabled(true);
deviceMap.getUiSettings().setAllGesturesEnabled(true);
deviceMap.moveCamera(CameraUpdateFactory.newLatLngZoom(deviceM.getPosition(), 1f));
}
}
나는 또한이 일을 시도있다. resouces에서
:
map.addMarker(new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.
fromResource(R.drawable.xyz)));
비트 맵에서 :
Bitmap markerBitmap = Bitmap.createBitmap(px, px, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(markerBitmap);
Drawable shape = ResourcesCompat.getDrawable(getResources(), R.drawable.xyz, null);
shape.setBounds(0, 0, markerBitmap.getWidth(), markerBitmap.getHeight());
shape.draw(canvas);
map.addMarker(new MarkerOptions().position(newLatLng(lastLocation.getLatitude(),
lastLocation.getLongitude())).icon(BitmapDescriptorFactory.fromBitmap(markerBitmap)));
감사 남자! 두 번째 작업 중입니다! 어쨌든 자원에서 직접 아이콘을 설정하는 것이 효과가없는 이유에 대한 단서가 있습니까? 그냥 이해 –
나는 당신의 코드를 시도, 당신은 두 개의 닫는 괄호, 하나의 제목과 끝에 하나가 누락되었습니다. 하지만 그 후에도 Android Marshmallow에서 작동해야합니다. 어쩌면 어떤 끈질긴 문제 일지 모르지만 나는 정말로 모른다. – gabodroid