简而言之,
我想找到位于通过在地图上拖动鼠标而创建的矩形区域内的所有标记.这个功能是否受到任何jQuery插件或其他东西的支持?如果没有,我想在我的项目中实现这一点.我觉得这很酷.
详细信息
我正在使用Google Maps v2,因为我想在我的项目中支持IE 6.
我是地图的初学者,并通过开发人员指南部分和一些基本演示和其他SO问题.
到目前为止,这是我的想法 -
用户单击地图控件部分中的"选择区域"按钮.这会调用disableDragging(),用户可以进行选择.(可能是http://code.google.com/apis/maps/documentation/javascript/v2/controls.html#Custom_Controls给出了一些如何做到这一点的想法)
然后用户进行区域选择.记录选择开始和选择结束点,并假设它们是矩形的两个相对角,找到其中的标记.但是,到目前为止,我没有看到任何工作代码来获取点击点的坐标.我想最好用纬度/经度作为坐标而不是实际的xy坐标.这个问题Google Maps API使用jQuery插件:如何在点击时获取标记的经度和纬度?讨论在点击标记时获取标记的纬度/经度,但我还没有成功尝试过.
总结
以下是我的问题 -
如何在地图上显示矩形选区?(通常略带灰色且外观透明)
如何获得点击点的纬度/经度(纬度/经度),然后将其扩展以获得选择的起点和终点.
我对jQuery很有经验,如果有一些很好的jQuery插件解决方案,请告诉我.我看到了10个jQuery插件列表,用于更轻松的谷歌地图安装,但不确定是否有任何一个可以帮助我满足我的要求.
当我有标记列表时,我想在单独的显示部分中填充一些相关信息,这样每次用户选择一些标记时,相应的信息都会显示在显示部分中.那部分应该更容易.
谢谢
我正在设置一个嵌入了 GMap2 的 extjs 面板。这是设置:
map = new GMap2(document.getElementById("gmappanel"));
map.setCenter(new GLatLng(58.019257, -115.572402), 3);
map.setUIToDefault();
Run Code Online (Sandbox Code Playgroud)
我正在使用这里的示例,因此当我单击标记时,我会看到一个信息窗口。问题是,事件触发,我可以在控制台中看到正确的 HTML,但没有其他任何事情发生。信息窗口根本打不开。没有错误,什么都没有。
这是代码:
function createMarker(point, val) {
var marker = new GMarker(point);
var name = val.data.name;
var html = "<table class='marker'>";
html += "<tr><td>Name: </td><td>" + name + "</td></tr>";
html += "</table>";
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
debug("Marker fired");
});
return marker;
}
Run Code Online (Sandbox Code Playgroud)
我是这样称呼它的:
var marker = createMarker(point,store.getAt(i));
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
http://econym.org.uk/gmap/example_eshapes.htm有一个关于如何平铺六边形的Google Maps API v2示例,尽管实现方法很难实现:它有一个中心六边形,然后在适当的方向上与六个六边形相邻然后(在准递归中)三个六边形与邻近原始六边形的六边形之一相邻.它有一个漂亮的边框与透明填充.
我怎样才能创建一个类似的效果,但最好是使用平铺,这样我就可以指定(没有递归的堆)我想要在原点的东边有一个六六边形的六边形和四边六边形从东边的六个六边形到六边形的六边形到东?
我正在寻找基于坐标的东西,最好是简单的.我已经查看了http://www.rootmetrics.com/check-coverage/的源代码并且它可以工作,但是代码与他们的特定页面,标记等相关联,因此模仿他们的代码需要一点点解开.
我正在为gps-tracker开发嵌入式软件.在此之前,我使用Google Maps v2进行反向地理编码(将GPS坐标转换为地址字符串).我使用了http-request和一个简短的响应形式(csv)(http://maps.googleapis.com/maps/geo?q=&output = csv&...).现在,当API v2的支持几乎结束时,我尝试迁移到v3,但我在http-request设置中找不到csv响应格式.响应大小是设备的关键参数.我该如何解决这个问题?谢谢.
我是 android 开发新手 :)
我正在尝试创建一个简单的应用程序:带有地图的活动。我将 HTC 1x 连接到计算机,当我尝试运行该应用程序(通过 Intellij IDEA)时,它崩溃了。
我已经在网络(和 stackoverflow)上搜索过线索,但找不到任何线索。例如:
- Google Maps v2 - 错误
-谷歌地图 - 运行时异常 - 错误膨胀类片段
你能告诉我为什么吗??
谢谢,
欧玛
技术细节:
HTC 1x 运行安卓 4.1.1 项目外部库: - Android 4.0 谷歌 API - Android-Support-V4.jar - 谷歌播放服务.jar
主要活动.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/地图"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.SupportMapFragment"/>
</线性布局>
主要活动.Java
包 com.example.mapTest;
导入 android.os.Bundle;
导入 android.support.v4.app.FragmentActivity;
公共类 MainActivity 扩展 FragmentActivity {
/**
* 在第一次创建活动时调用。
*/
@覆盖
public void onCreate(Bundle savedInstanceState) { … 您好我是深化发展的Android应用程序中,我需要用户通过mouving帕克选择一个位置,以便我能得到我需要的信息完全一样,但在Android应用程序.我做了一些研究,但我还是新的,所以我找不到任何接近这个的东西.有人能指出我正确的方向吗?
我需要做的是在一个简单的谷歌地图中创建一个mouving光标,可以给我长+纬度数据.我所做的就是在我的地图中放置一些静态位置.
我想将相机移动到适合LatLngBounds标记高度的位置.到目前为止,我能够使用此代码拟合标记的锚点:
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (Marker marker : markerList) {
builder.include(marker.getPosition());
}
LatLngBounds bounds = builder.build();
int padding = getActivity().getResources().getDimensionPixelSize(R.dimen.home_map_padding); // offset from edges of the map in pixels
cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padding);
mGoogleMap.animateCamera(cameraUpdate);
Run Code Online (Sandbox Code Playgroud)
它产生如下输出:
你可以看到底部有空的空间(这是int padding).我想让填充像这样:

android google-maps-markers google-maps-api-2 google-maps-android-api-2
我具有以下函数,可向我返回设备的当前位置:
void getCurrentLocation()
{
Location myLocation = map.getMyLocation();
if(myLocation!=null)
{
double dLatitude = myLocation.getLatitude();
double dLongitude = myLocation.getLongitude();
map.addMarker(new MarkerOptions().position(new LatLng(dLatitude, dLongitude))
.title("My Location").icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(dLatitude, dLongitude), 8));
}
else
{
Toast.makeText(this, "Unable to fetch the current location", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,这些方法与map有关,可以在onMapReady()函数中使用,但无法显示它。这是为什么?我必须添加哪些库?我这样声明地图:
private MapFragment map;
Run Code Online (Sandbox Code Playgroud) 如果我有两个 placeid,我的地址和国家/地区,我如何询问 Google Maps API 我的地址的 placeid 是否在该国家/地区的 placeid 内?
例如,白宫的 placeid 为ChIJ37HL3ry3t4kRv3YLbdhpWXE,美国的 placeid 为ChIJCzYy5IS16lQRQrfeQ5K5Oxw,Maps API 可以使用 placeid告诉我白宫是否在美国吗?如果是这样,如何?
如果我去https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJCzYy5IS16lQRQrfeQ5K5Oxw&key=REDACTED那么我可以看到一个 placeid 的完整细节,但这并没有告诉我我需要什么知道。
我正在使用谷歌地图 V2,我需要显示自定义图像按钮单击以获取带有蓝点的当前位置,并且没有显示到 setMyLocationEnabled 按钮。并且此方法已经错误,但显示当前位置但不显示蓝点。
googleMap.setMyLocationEnabled(false);
Run Code Online (Sandbox Code Playgroud)