2013-08-28 31 views
13

マーカーアイコンを変更しようとしています。 イメージはあるサーバーディレクトリから取得します。Android Google Maps API v2 - マーカーアイコンの変更方法

「ビット」の結果がすべてnullであるたびにブレークポイントを挿入します。そして、私はアプリを実行すると私はjava.lang.NullPointerExceptionを取得します。

File file = new File("J:\\!!! DOCUMENTS\\!Outsourcing\\AppStore\\Benzinostancii\\Petrol\\logo.png"); 

Bitmap bit = BitmapFactory.decodeFile(String.valueOf(file)); 

double Dlat = lat.get(index); 
double Dlon = lon.get(index); 
String info = Arrayinfo.get(index); 
String name = Arrayname.get(index); 

LatLng coordinate = new LatLng(Dlat, Dlon); 
map.addMarker(new MarkerOptions() 
    .icon(BitmapDescriptorFactory.fromBitmap(bit)) 
    .position(coordinate) 
    .title(info) 
).setSnippet(name); 
+0

Jディレクトリは、Androidデバイスの内部メモリにそれているのですか?なぜそれをdrawablesに入れないのですか? –

+0

このJディレクトリはPCサーバーからのもので、このサーバーからイメージをロードします。 –

+0

ああそういうことはできないと思う。最初にサーバーからイメージをダウンロードしてから使用することをお勧めします。 –

答えて

49
// latitude and longitude 
double latitude = 17.385044; 
double longitude = 78.486671; 

// create marker 
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps"); 

// Changing marker icon 
marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon))); 

// adding marker 
googleMap.addMarker(marker); 

More Info

+0

私はあなたの9番目の車線にa)を追加したと思うでしょう –

+0

'setIcon()'を意味するかもしれません。 – crm

+1

setIconは新しいgoogle apisで動作しますか?私はそうは思わない –

4

それは非常に簡単です:XamarinのC#ユーザーの場合

new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.icon)) 
0

tappedMarker.Remove(); 
MarkerOptions markerOptions = new MarkerOptions(); 
markerOptions.SetTitle(tappedMarker.Title); 
markerOptions.SetPosition(tappedMarker.Position); 

markerOptions.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueGreen)); 
tappedMarker = googleMap.AddMarker(markerOptions); 
+0

メソッド名は大文字で始まらない。これらの方法は存在しません。 – Dennis

+1

@Dennisよく、C#で行いますが、これはXamarinのバージョンで、同じコードをjava、同じ命名法に変換します –

+0

しかし、これらのメソッドは存在しません。 – Dennis

関連する問題