Flash 中的地理定位 [英] Geolocation in Flash

查看:35
本文介绍了Flash 中的地理定位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在用 Flash 构建一个小型网络应用程序.是否有获取用户地理位置的解决方案?

I'm building a small web app in Flash. Is there a solution to get the geo-location of a user?

推荐答案

最简单的方法是与 JavaScript 函数交互.

The easiest way is to interface with a JavaScript function.

在您的 HTML 中:

In your HTML:

    <script>
        function getGEO()
        {
            // First check if your browser supports the geolocation API
            if (navigator.geolocation)
            {
                //alert("HTML 5 is getting your location");
                // Get the current position
                navigator.geolocation.getCurrentPosition(function(position)
                {
                    lat = position.coords.latitude
                    long = position.coords.longitude;
                    // Pass the coordinates to Flash
                    passGEOToSWF(lat, long);
                });
            } else {
                //alert("Sorry... your browser does not support the HTML5 GeoLocation API");
            }
        }
        function passGEOToSWF(lat,long)
        {
            //alert("HTML 5 is sending your location to Flash");
            // Pass the coordinates to mySWF using ExternalInterface
            document.getElementById("index").passGEOToSWF(lat,long);
        }
    </script>

然后,在您的应用程序中,一旦您的地图准备就绪,将其放入一个函数中:

Then, in your Application, once your map is ready, put this in a function:

     //for getting a user's location
            if (ExternalInterface.available) 
            {
                //check if external interface is available
                try 
                {
                    // add Callback for the passGEOToSWF Javascript function
                    ExternalInterface.addCallback("passGEOToSWF", onPassGEOToSWF);
                } 
                catch (error:SecurityError) 
                {
                    // Alert the user of a SecurityError
                } 
                catch (error:Error) 
                {
                    // Alert the user of an Error
                }
            }

最后,准备一个私有函数来捕捉回调.

Finally, have a private function ready to catch the callback.

    private function onPassGEOToSWF(lat:*,long:*):void
    {
        userLoc = new LatLng(lat,long);
        map.setCenter(userLoc);

    }

这篇关于Flash 中的地理定位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆