我在理解如何更改Android Google Map项目中标记的颜色方面遇到了一些麻烦.
我的标记代码是:
googlemap.addMarker(new MarkerOptions()
.position(new LatLng( 65.07213,-2.109375))
.title("This is my title"))
.setSnippet("and snippet");
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
Run Code Online (Sandbox Code Playgroud)
当我在最后一行输入.icon代码时出现此错误,否则.position,.title并且.setSnippet工作得很好并且在地图上可见.
无法在原始类型void上调用图标(BitmapDescriptor)
这些导入以及:
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
Run Code Online (Sandbox Code Playgroud)
但是没有添加任何其他内容.我是否错过了重要部分?
我一直在寻找有关实现OnMarkerClickListener的帮助,但我发现没有任何效果.这是我下面的标记,点击它只会改变颜色(浅蓝色).我正在寻找它打开一个更大的窗口,以便我可以提供更多信息.这可能吗?
googlemap.addMarker(new MarkerOptions()
.position(new LatLng(49.378,-0.3904))
.title("Hello World")
.snippet("This is my test app")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
Run Code Online (Sandbox Code Playgroud)
标记在我的地图上工作正常,但现在我想点击标记,并打开一个新的活动/页面或更大的窗口,更容易使用.因为我是一个真正的新手制作应用程序,如果有人成功地获得了一个工作示例,请你提出一个链接或一些代码.
提前致谢!
编辑:
从建议的教程我已经改变了一些MainActivity.java.
我已经在OnMarkerClickListener中添加了,并选择将未实现的方法添加到Public Class
public class MainActivity extends Activity implements LocationListener, OnMarkerClickListener {
Run Code Online (Sandbox Code Playgroud)
在private void setUpMap()下面我添加了我的代码:private Marker myMarker,setonMarkerclick listener和myMarker =,:
private Marker myMarker;
{
googlemap.setOnMarkerClickListener(this);
myMarker = googlemap.addMarker(new MarkerOptions()
.position(new LatLng(LatLng))
.title("Hello World")
.snippet("My First App")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)));
}
Run Code Online (Sandbox Code Playgroud)
在底部未实现的方法中,我有:
@Override
public boolean onMarkerClick(Marker arg0) {
// TODO Auto-generated method stub
return false;
Run Code Online (Sandbox Code Playgroud)
我需要在公共布尔OnMarkerClick部分更改什么?我没有得到任何错误,但它只是没有工作.我还需要添加或更改什么?
任何帮助表示赞赏!
我看到人们在这项具体任务中遇到了很多困难,我也需要帮助.
我已使用Google提供的默认代码在地图上成功创建了标记.但现在我希望能够点击"InfoWindow"打开一个新活动,这样我就可以添加更多信息.
从这个标题和片段的基本标记:
http://mobisys.in/blog/wp-content/uploads/2013/04/Screenshot_2013-04-04-17-19-581.png
然后单击它并打开一个空白活动:
有谁知道最好的方法吗?
如果您能回答这个问题,请提供一些代码或示例. 任何帮助将非常感激!
android google-maps infowindow google-maps-markers android-activity
我正在制作一个基于iPhone位置的应用程序,我在它的最后一个方面遇到了麻烦.我想知道是否有人知道如何整合与我们可以使用的地图相关的搜索栏MKMapView.
它实际上是地图上方的一个搜索栏,用户可以在一个区域中输入,它会将它们带到那里.
这可能吗?
我四处寻找教程,但我只找到了如何制作带有地图视图,注释和添加标注的应用程序.
当你点击infowindow时,我有一个代码让一个标记启动一个活动.它工作得非常好.但是当我尝试添加另一个标记和另一个@override时,它总是在所有Markers infowindows上打开最后一个类.因此,实质上所有标记infowindows在单击时打开相同的活动,而不是打开我打算使用的单独类.
这是下面的代码,它在InfoWindowClicked上成功打开了1个活动.我把它叫做example.class,这适用于需要这个例子的每个人.
public class MainActivity extends Activity implements OnInfoWindowClickListener {
private GoogleMap googlemap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(isGooglePlay()){
setContentView(R.layout.activity_main);
setUpMap();
{ } }
googlemap.addMarker(new MarkerOptions()
.position(new LatLng(0,-0))
.title("Title")
.snippet("Snippet")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.star)));
googlemap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Intent intent = new Intent(MainActivity.this,Example.class);
startActivity(intent);
} });
{
Run Code Online (Sandbox Code Playgroud)
因此,在谷歌地图googlemap/mMap(或你称之为你的任何东西)和@override void Oncreate(我的应用程序仅在GooglePlayServices可用时启动,你的应用程序可能不是这样)下面你可以放置标记和infowindowclick代码.
确保代码中的某处还有(通常在私有的void setUpMap(){)
googlemap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
Run Code Online (Sandbox Code Playgroud)
现在下面是带有两个标记的代码,但是当它们被单击时它们都会打开example2.class.有人可以帮我解决这个问题,所以我可以将它们分开并让它们打开不同的类吗?
googlemap.addMarker(new MarkerOptions()
.position(new LatLng(0,-0))
.title("Title")
.snippet("Snippet")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.star)));
googlemap.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void …Run Code Online (Sandbox Code Playgroud)