【发布时间】:2015-06-23 14:05:57
【问题描述】:
我一直在寻找这个但没有得到任何资源,我想在当前位置显示带有方向的标记,类似于谷歌地图应用程序。见附件(带方向的蓝色标记)
它叫什么?
请帮帮我,我已经创建了一张包含当前位置的地图。
活动代码
public class MainActivity extends FragmentActivity implements OnMapReadyCallback, LocationListener {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMyLocationEnabled(true);
}
@Override
public void onLocationChanged(Location location) {
map.clear();
MarkerOptions mp = new MarkerOptions();
mp.position(new LatLng(location.getLatitude(), location.getLongitude()));
mp.title("my position");
mp.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_ROSE));
map.addMarker(mp);
map.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(location.getLatitude(), location.getLongitude()), 16));
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
【问题讨论】:
-
我猜他们是怎么做到的。您创建一个由一个小三角形和一个圆圈组成的自定义标记。使用此自定义标记并在您四处走动或开车时更新您的当前位置。旋转标记以匹配您所面对的方向。这是marker documentation。我确实看到了旋转和自定义标记。寻找方向可能是你想弄清楚的诀窍。
-
谢谢@so_jin_ee 我找到了解决方案。如果您不提供标记,它将回退到具有如上所示方向的蓝色标记
标签: android google-maps google-maps-api-3