智能手机设备上的地理位置无法运行

时间:2016-03-03 09:00:38

标签: javascript google-maps geolocation driving-directions

在我的网站上,当我点击按钮时,我必须启动谷歌地图以获取行车路线。我知道终点,但我必须通过地理位置来传达起点,即我的立场。 我在智能手机设备上存在地理位置问题。 这是我的代码:

jQuery(window).load(function(){ if (navigator.geolocation) navigator.geolocation.getCurrentPosition(function(position){ myLat=position.coords.latitude; myLng=position.coords.longitude; jQuery(".btn").attr("href", "http://www.google.it/maps?saddr="+myLat+","+myLng+"&daddr=44.000000,7.000000")}; }); });

它在电脑上运行良好,但在智能手机上却无法运行。发生错误。我应该为这些设备写一个不同的href吗?如果是这样,怎么样? 非常感谢你的帮助!!

2 个答案:

答案 0 :(得分:1)

我想我解决了。 我检测到我是否正在使用移动设备,而我使用此代码

@IBOutlet var tableView: UITableView!
@IBOutlet weak var tableImage:UIImageView!

var headerView: UIView!
var headerMaskLayer: CAShapeLayer!
private let kTableHeaderHeight: CGFloat = 260.0
private let kTableHeaderCutAway: CGFloat = 25.0

override func viewDidLoad() {
    super.viewDidLoad()

    headerView = tableView.tableHeaderView
    tableView.tableHeaderView = nil
    tableView.addSubview(headerView)

    tableView.contentInset = UIEdgeInsets(top: kTableHeaderHeight, left: 0, bottom: 0, right: 0)
    tableView.contentOffset = CGPoint(x: 0, y: -kTableHeaderHeight)

    headerMaskLayer = CAShapeLayer()
    headerMaskLayer.fillColor = UIColor.blackColor().CGColor
    headerView.layer.mask = headerMaskLayer

    updateHeaderView()

    displayPoster(listBackdrop!)

    //.... rest of code
}

func displayPoster (urlString: String)
{
    if (urlString != ""){

        let newUrl = urlString.stringByReplacingOccurrencesOfString("w500", withString: "w780")

        self.tableImage.alpha = 0

        let url =  NSURL(string: newUrl)
        // loading image with haneke lib
        self.tableImage.hnk_setImageFromURL(url!)

        UIView.animateWithDuration(1){
            self.tableImage.alpha = 1.0
        }
    }
}

func scrollViewDidScroll(scrollView: UIScrollView) { updateHeaderView() }

func updateHeaderView(){

    var headerRect = CGRect(x: (tableView.bounds.width-tableImage.bounds.width)/2, y: -kTableHeaderHeight, width: tableView.bounds.width, height: kTableHeaderHeight)

    if tableView.contentOffset.y < -kTableHeaderHeight{
        headerRect.origin.y = tableView.contentOffset.y
        headerRect.size.height = -tableView.contentOffset.y
    }

    headerView.frame = headerRect

    // the image cutaway
    let path = UIBezierPath()
    path.moveToPoint(CGPoint(x: 0, y: 0))
    path.addLineToPoint(CGPoint(x: headerRect.width, y: 0))
    path.addLineToPoint(CGPoint(x: headerRect.width, y: headerRect.height))
    path.addLineToPoint(CGPoint(x: headerRect.width/2, y: headerRect.height-kTableHeaderCutAway))
    path.addLineToPoint(CGPoint(x: 0, y: headerRect.height))
    headerMaskLayer?.path = path.CGPath

}

感谢您的支持Riccardo

答案 1 :(得分:0)

看看它是否能以某种方式帮助你。 http://www.w3schools.com/html/html5_geolocation.asp