谷歌地图api的替代品,以便我可以在HTTPS / SSL加密的网站上使用它

时间:2010-06-05 00:10:23

标签: flex google-maps

我确实在Google地图api页面上找到了解决方案,我在其中提到了以下更改。

1.使用适用于Flash版本1.9a或更高版本的Google Maps API。

2.在实例化地图之前,将以下内容添加到Flash应用程序中:Security.allowInsecureDomain(“maps.googleapis.com”);

价:http://code.google.com/apis/maps/faq.html#flash_ssl

在更改后,我的代码如下所示:

<mx:TitleWindow  verticalAlign="middle" horizontalAlign="center"
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:maps="com.google.maps.*" 
    width="1000" height="600" layout="absolute" backgroundAlpha="0" borderAlpha="0" borderThickness="0" 
    showCloseButton="true" close="PopUpManager.removePopUp(this);">

<mx:VBox width="70%" height="100%" >
                <maps:Map 
                    id="map" 
                    key="ABQIAAAA0L1JEoR6rWjh-BBQnLMtMBSVuZ5VlaqlIqiYPFMK_I5M2UTmHhSq_BJxLHiYcTDW9RxSF6HewNY7uA" 
                    mapevent_mapready="onMapReady(event)"
                    width="100%" height="100%" />
            </mx:VBox>
<mx:Script>
        <![CDATA[
            //import flashx.textLayout.formats.Direction;
            import mx.effects.AddItemAction;
            //import flashx.textLayout.factory.TruncationOptions;
            import mx.controls.Alert;
            import mx.managers.PopUpManager;
            import mx.rpc.events.ResultEvent;
            import com.adobe.serialization.json.JSON;

            import flash.events.Event;
            import com.google.maps.*;
            import com.google.maps.overlays.*;
            import com.google.maps.services.*;
            import com.google.maps.controls.ZoomControl;
            import com.google.maps.controls.PositionControl;
            import com.google.maps.controls.MapTypeControl;

            import com.google.maps.services.ClientGeocoderOptions;
            import com.google.maps.LatLng;
            import com.google.maps.Map;
            import com.google.maps.MapEvent;
            import com.google.maps.MapMouseEvent;
            import com.google.maps.MapType;
            import com.google.maps.services.ClientGeocoder;
            import com.google.maps.services.GeocodingEvent;
            import com.google.maps.overlays.Marker;
            import com.google.maps.overlays.MarkerOptions;
            import com.google.maps.InfoWindowOptions;

            private function onMapReady(event:MapEvent):void {
            Security.allowInsecureDomain("maps.googleapis.com");
              map.setCenter(new LatLng(41.651505,-72.094455), 13, MapType.NORMAL_MAP_TYPE);
              map.addControl(new ZoomControl());
              map.addControl(new PositionControl());
              map.addControl(new MapTypeControl());

              map.enableScrollWheelZoom();
                map.enableContinuousZoom();

            }
]]>
    </mx:Script>
</mx:TitleWindow>

但是我仍然使用这个得到以下错误: 所请求的URL /mapsapi/publicapi?file=flashapi&url=https%3A%2F%2Fvirtual.c7beta.com%2Findex_cloud.swf&key=ABQIAAAA0L1JEoR6rWjh-BBQnLMtMBTW_Qkp6J0z76Etz3qzo8Hg3HdUQhSnD6lqp53NB0UrBmg5Xm2DlazWqA&v=1.18&flc=xt在此服务器上找到。

对于我在这里做错了什么建议,我该怎么做才能使这项工作成功。

此致 ZEE

2 个答案:

答案 0 :(得分:1)

您的主题是否与您的问题有任何关系?

我在黑暗中拍摄了一下,但根据您看到的错误,它可能正在ping您的本地服务器;用于URL;不是远程服务器。您是否在调试模式下运行以找出哪个行有错误以及当时正在发生什么/

要回答您的主题,我知道它们是Google地图的替代品。我知道其中一个是ESRI

我不确定他们是否或如何支持SSL。

答案 1 :(得分:1)

您信任不安全的域(Security.allowInsecureDomain)要迟到,您必须在实例化地图之前执行此操作。我遇到了同样的问题,在实例化地图之前信任我解决了它。