是否可以将离线地图保存为PDF文件?



我使用谷歌地图并访问了一个位置并将其保存为html页面,这样我就可以在将来使用缩放功能查看该位置。是否可以将该位置(地图)保存为。pdf格式,而不是具有缩放功能的html格式。

如果要打印该html文件,将弹出带有默认打印机的打印对话框。点击打印机下的"更改",然后选择"另存为PDF"。您可以在adobereader中缩放pdf文件。

或(长途)

启动InDesign并创建一个新的A4横向文档。现在按F(框架工具)在你的键盘上,并拖动一个框架的大小,你想要的地图。

转到工作区设置(InDesign的右上角)并将其更改为PDF的交互式。进入窗口→交互→按钮。在InDesign中,你可以很容易地创建按钮。创建任意对象,然后右键单击并选择交互式-转换为按钮。

要导入谷歌地图到flash,您需要下载谷歌地图组件- map_1_18.swc.

在Windows 7中导航到C:Program Files (x86)AdobeAdobe Flash CS6CommonConfigurationComponents。然后在那里新建一个文件夹,命名为Google。将.swc文件存储在那里,然后转到此页面并按照说明获取API密钥并保存它。你的Flash现在设置为支持谷歌地图API。

通过按CTRL + F7或单击菜单中的窗口→组件打开组件面板。你应该在那里看到谷歌地图库。拖放到Library面板。

进入时间轴中的图层面板,并将其命名为gmap。打开操作面板(或按F9) Windows→操作。现在输入下面的代码来导入地图:

import com.google.maps.LatLng;
import com.google.maps.Map;
import com.google.maps.Map3D;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
import com.google.maps.View;
import com.google.maps.geom.Attitude;

//创建映射变量

var map:Map3D;

/ Creating map
 create_map();
 function create_map()
 {
 map = new Map3D();
 map.key = "your api key";
 map.setSize(new Point(stage.stageWidth, stage.stageHeight));
 map.addEventListener(MapEvent.MAP_READY, onMapReady);
 this.addChild(map);
 }
 function onMapReady(event:MapEvent):void
 {
 map.setCenter(new LatLng(48.207401,16.372805), 13);
 map.setAttitude(new Attitude(20,30,0));
 map.viewMode = View.VIEWMODE_PERSPECTIVE;
 }

为了创建标记,您需要再次放入一些ActionScript。转到ActionScript面板并复制以下代码。如有必要,更改类以匹配您的类。

var c:Marker = new Marker(new LatLng(-33.925272,18.423557),
new MarkerOptions({icon:new capeTown()}));
map.addOverlay(c);
var p:Marker = new Marker(new LatLng(50.075651,14.431229),
new MarkerOptions({icon:new prague()}));
map.addOverlay(p);
var v:Marker = new Marker(new LatLng(48.206371,16.375122),
new MarkerOptions({icon:new vienna()}));
map.addOverlay(v);}

如果你想控制飞。到带有acrobat按钮的动画。因为我们从Javascript调用ActionScript,所以我们使用ExternalInterface函数。addCallback,它将在SWF和Acrobat Javascript之间建立桥梁。创建一个新的动作层,并把类似的东西放在那里。它应该有相同的标记坐标:

function pr(e:MouseEvent = null):void
{
map.flyTo(new LatLng(50.075651,14.431229),12,new Attitude(0,0,4),5);
 }
ExternalInterface.addCallback("pr",pr);
function vn(e:MouseEvent = null):void
{
map.flyTo(new LatLng(48.206371,16.375122),9,new Attitude(0,30,3),5);
}
ExternalInterface.addCallback("vn",vn)
function cp(e:MouseEvent = null):void
{
map.flyTo(new LatLng(-33.925272,18.423557),3,new Attitude(0,30,-10),3);
}
ExternalInterface.addCallback("cp",cp)

地图。flyTo功能可以控制以下参数:延迟,变焦,姿态,时间。

现在再次打开我们已经准备好的InDesign文件。选择将作为地图占位符的框架。选择占位符后,按CTRL + D(文件-导入)放置SWF地图。打开媒体面板,选中"在页面加载时播放"。"海报选项"选择"无"。现在可以将其导出为交互式PDF了。转到文件-导出或CTRL + E,选择Adobe PDF交互式。

在Acrobat中打开文件。你有你的交互式Acrobat按钮和嵌入的谷歌地图。这些按钮现在什么都不做了,除了翻转效果(如果您已经创建了)。在交互式选项卡工具中选择选择对象工具并双击其中一个按钮。在到达的窗口中转到Actions,从Select action下拉菜单中选择Run a Javascript,然后按Add。在再次打开的新窗口中输入以下代码:

getAnnotsRichMedia(this.pageNum)[0].callAS(“pr”);

按OK键并关闭

参考

您可能想看看静态地图API https://developers.google.com/maps/documentation/staticmaps/。它允许您请求640x640静态地图,您可以通过更改参数相应地调整缩放。您可以使用坐标或地点名称,它们将为您的请求获得地理编码。

以下是一些具有不同缩放级别和地图类型的示例:

640x640,缩放14,地形图:http://maps.googleapis.com/maps/api/staticmap?center=Eiffel + Tower&缩放= 14,大小= 640 x640

640x640,缩放18,卫星:http://maps.googleapis.com/maps/api/staticmap?center=Eiffel+Tower&zoom=18&size=640x640&maptype=satellite

请注意,根据使用条款10.1.2.(b),您:

  • (b)禁止直接营销。你不能打印超过5000份的销售宣传品材料包含内容的屏幕截图的目的商业销售线索生成("直接营销")或合并将内容作为印刷品的核心部分(如印刷的地图或地图)导游书),你重新分发收费。你必须联络Google Maps API的业务销售团队可以直接获得许可

最新更新