Jeśli używasz Eclipse jako IDE, można dodać .png, na przykład, do/odkształcalne-hdpi,/rozciągliwej-ldpi,/odkształcalne-MDPI katalogi . Następnie można umieścić i otrzymać listę odnośników do nakładek trochę tak:
package com.practice.mapper;
import java.util.ArrayList;
import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;
public class Itemization extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public Itemization(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
// super(defaultMarker);
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
public int size() {
return mOverlays.size();
}
}
package com.practice.mapper;
import java.util.List;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ZoomControls;
public class Mapper extends MapActivity implements LocationListener {
Location presentLocation;
ZoomControls z;
LinearLayout linearLayout;
MapView mapView;
List<Overlay> mapOverlays;
Drawable drawable;
Itemization itemizedOverlay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mapOverlays = mapView.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.androidmarker);
itemizedOverlay = new Itemization(drawable);
GeoPoint point = new GeoPoint(19240000, -99120000);
OverlayItem overlayitem = new OverlayItem(point, "", "");
itemizedOverlay.addOverlay(overlayitem);
GeoPoint point2 = new GeoPoint(35410000, 139460000);
OverlayItem overlayitem2 = new OverlayItem(point2, "", "");
itemizedOverlay.addOverlay(overlayitem2);
mapOverlays.add(itemizedOverlay);
}
public void btnUpdateClicked(View v) {
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationProvider p = lm.getProvider(LocationManager.GPS_PROVIDER);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 1, this);
List<String> enabledProv = lm.getProviders(true);
Location l1 = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Location l2 = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Location l3 = lm.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
Button b = new Button(this.getApplicationContext());
b.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
}});
lm.toString();
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
public void onLocationChanged(Location location) {
presentLocation = location;
Log.d("TEST", "New location received");
}
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
mam większość tego kodu z samouczka już nie mogę znaleźć link. Nakładki są łatwe do manipulowania. Mam nadzieję że to pomoże.
Witam, dziękuję za Twoją sugestię, ale szukam, jeśli jest domyślny znacznik do użycia, podobny do GMarkera w Google js API. –
Ah, rozumiem. Moja sugestia to uratowanie sobie problemu i skopiowanie znacznika bezpośrednio z obrazów Google. Wynik końcowy jest taki sam. Również, "Domyślnie używają G_DEFAULT_ICON, ale można określić niestandardową ikonę.Kodarka GMarker przyjmuje jako argumenty GLatLng i opcjonalne obiekty GMarkerOptions." z http://code.google.com/apis/maps/documentation/javascript/v2/overlays.html – Alex