不跳转的单页应用是可以实现的,如果想简单点就用angularjs之类的框架的路由功能,想自己写的话可以把链接写成锚点链接的形式页面就不会跳转如 <a href='/#index'>首页</index>,然后通过location获得链接信息,用正则表达式提取出参数
用ajax请求啊,给服务器 GET或者POST 当前HTML页面的的URL
我的例子是用的jquery
$get(geturlphp, //GET请求地址
{url : windowlocationhref}, //get请求参数。就相当于 geturlphpurl=>
最近开发中使用的是百度地图android SDK:
1、初始化地图
2、注册定位监听器,初始化Location模块
3、初始化定位图层;启用定位,启用指南针,最后把定位图层添加到地图中。附简单代码:
//mMapView = (MapView) findViewById(RidbmapsView);
mMapView = new MapView(this); //初始化一个mapView 存放Map
mMapViewsetBuiltInZoomControls(true);// 设置启用默认的缩放控件
locationManager = mBMapMangetLocationManager();
/
由于LocationListener获取第一个位置修正的时间会很长,为了避免用户等待,
在LocationListener获取第一个更精确的位置之前,应当使用getLocationInfo() 获取一个缓存的位置
/
Location location = locationManagergetLocationInfo();
locationManagerrequestLocationUpdates(this);
mMapController = mMapViewgetController();// 得到mMapView的控制权,可以用它控制和驱动平移和缩放
if (location != null) {
mMapControllersetCenter(new GeoPoint(
(int) (locationgetLatitude() 1E6), (int) (location
getLongitude() 1E6)));
}
mMapControllersetZoom(12);// 设置地图zoom级别
MyLocationOverlay mylocTest = new MyLocationOverlay(this, mMapView);
mylocTestenableMyLocation();
mylocTestenableCompass();
mMapViewgetOverlays()add(mylocTest);
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if (location != null) {
mMapControlleranimateTo(new GeoPoint(
(int) (locationgetLatitude() 1E6), (int) (location
getLongitude() 1E6)));
}
}
如果你想点击定位地点,显示信息,你需要去扩展MyLocationOverlay图层,它里面有个public boolean onTap(GeoPoint p, MapView map) {}方法,是处理点击事件的。
有问题,可以与我联系,共同探讨。
获取对象指定的文件名或路径。
windowlocationpathname
获取整个 URL 为字符串。
windowlocationhref
设置或获取与 URL 关联的端口号码。
alert(windowlocationport)
获取 URL 的协议部分。
windowlocationprotocol
获取 href 属性中在井号“#”后面的分段。
windowlocationhash
获取 location 或 URL 的 hostname 和 port 号码。
windowlocationhost
获取 href 属性中跟在问号后面的部分。
windowlocationsearch
获取变量的值(截取等号后面的部分)
var url = windowlocationsearch;
var loc = urlsubstring(urllastIndexOf('=')+1, urllength);
开发指南第三章定位信息前半部分的代码实现的功能是:当手机采集的地理位置(经纬度)发生改变时在界面上显示出改变后的经纬度。如果开发过android原生定位程序的开发者应该对这部分代码不陌生,中规中矩,先注册位置监听服务,然后当位置发生改变后出发onLocationChanged()方法。现在请在官网上下载示例代码,导入工程后开启包comamapcnapislocation中的MyLocationjava文件,该文件实现的主要功能是:初始化地图并且实现首次定位,地图会自动移动到定位点,我们一会便要基于这个文件来完成地图自动实时定位的功能。
看到这儿,有人可能想把MyLocation文件中的内容与第三章给出的android原生定位模块简单整合。如果你的解决思路是:在onLocationChanged()方法中企图在地图上绘制出当前的位置,那么就会遇到很大的麻烦。因为如果用高德地图提供的api在地图上绘制定位点的话一定要调用类MyLocationOverlay中的enableMyLocation()方法,根据官方参考资料,这个方法封装了android原生的类LocationManager中的requestLocationUpdates()方法,所以你在写onLocationChanged()方法前一定是已经调用了原生的类LocationManager中的requestLocationUpdates()方法,这样一来造成了LocationManager在没有removeUpdate前又进行了一次requestLocationUpdates,由此造成程序意外退出。
所以还是回到开发指南第三章,好好看看后半部分:如果想让地图跟随当前位置移动,需要继承MyLocationOverlay 并实现其onLocationChanged()方法,调用MapViewgetController()animateTo()方法移动地图位置。官方用户指南上的这句原话正是问题的正解,不过官网实在太坑爹,简简单单几行文字和代码,对于浣熊这种刚刚接触地图开发的小白来说实在是看得一头雾水,还在一阵瞎折腾,终于解决了问题,所以共享出来,希望和我一样的小白能够少走些弯路。
我先把修改后的MyLocationjava文件整个贴出来,在增加或改动的代码前后均表明了注释(不包括包的改动):“/change start/”和"/change end/"
用js 的方法获取:代码如下
设置或获取对象指定的文件名或路径。
alert(windowlocationpathname)
设置或获取整个 URL 为字符串。
alert(windowlocationhref);
设置或获取与 URL 关联的端口号码。
alert(windowlocationport)
设置或获取 URL 的协议部分。
alert(windowlocationprotocol)
设置或获取 href 属性中在井号“#”后面的分段。
alert(windowlocationhash)
设置或获取 location 或 URL 的 hostname 和 port 号码。
alert(windowlocationhost)
设置或获取 href 属性中跟在问号后面的部分。
alert(windowlocationsearch)
获取变量的值(截取等号后面的部分)
var url = windowlocationsearch;
// alert(urllength);
// alert(urllastIndexOf('='));
var loc = urlsubstring(urllastIndexOf('=')+1, urllength);
以上就是关于js能 重写windon.location吗不让页面跳转,并且获取要跳转的地址全部的内容,包括:js能 重写windon.location吗不让页面跳转,并且获取要跳转的地址、用javascript的window.location.href取得地址栏后,如何在PHP里调用呢,新手提问,实在是不会,看了不少网页、android 手机 地图 定位 编程 如何获取 定位的地点 的图片 和 文字 信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)