ionic2如何调用百度地图
使用ionic2接入百度地图
在index.html中引入百度地图的js类库
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script>
密钥需要到百度地图API官方文档中申请
http://lbsyun.baidu.com/index.php?title=jspopular
html页面内容
<ion-content>
<div id="map" #map></div>
</ion-content>
scss样式文件
#map{
width: 100%;
height: 100%;
display: block;
overflow: hidden;
margin:0;
font-family:"微软雅黑";
}
.scroll{
height: 100%;
}
需要导入的声明文件
import { Component, ViewChild, ElementRef } from '@angular/core';
import { NavController, Platform} from 'ionic-angular';
在typescript中接入百度地图类库
declare var BMap;
使用注解在页面创建视图
export class HomePage {
@ViewChild('map') mapElement: ElementRef;
constructor(
private navCtrl: NavController,
private platform: Platform,
)
定义全局变量,调用初始化方法
ionViewWillEnter() {
let map = this.map = new BMap.Map(this.mapElement.nativeElement, { enableMapClick: true });//创建地图实例
map.enableScrollWheelZoom();//启动滚轮放大缩小,默认禁用
map.enableContinuousZoom();//连续缩放效果,默认禁用
let point = new BMap.Point(116.06827, 22.549284);//坐标可以通过百度地图坐标拾取器获取
map.centerAndZoom(point, 16);//设置中心和地图显示级别
插入百度的一些控件,展示在地图中
//地图放大缩小控件
let sizeMap = new BMap.Size(10, 80);//显示位置
map.addControl(new BMap.NavigationControl({
anchor: BMAP_ANCHOR_BOTTOM_RIGHT,//显示方向
offset: sizeMap
}));
//3D效果矢量图控件
let size3D = new BMap.Size(10, 10);
map.addControl(new BMap.MapTypeControl({
anchor: BMAP_ANCHOR_TOP_RIGHT,
offset: size3D
}));
map.setCurrentCity("深圳");//3D效果需要设置城市
//城市列表控件
let sizeCity = new BMap.Size(10, 10);
map.addControl(new BMap.CityListControl({
anchor: BMAP_ANCHOR_TOP_LEFT,
offset: sizeCity
}));
添加自定义的控件展示地图中
function showAttractionControl() {
//定义显示位置
this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;
this.defaultOffset = new BMap.Size(10, 50);
}
//初始化控件
showAttractionControl.prototype = new BMap.Control();
showAttractionControl.prototype.initialize = function (map) {
let div = document.createElement("button");// 创建一个按钮
div.appendChild(document.createTextNode("附近景点"));
div.style.width = "135px";
div.style.height = "35px";
div.style.borderRadius = "15px";
div.onclick = function (e) {
let local = new BMap.LocalSearch(map, {
renderOptions: { map: map, autoViewport: true }
});
local.search("景点");
}
map.getContainer().appendChild(div);// 添加DOM元素到地图中
return div;
}
let showAttraction = new showAttractionControl();
map.addControl(showAttraction);//添加控件
添加自定义标注在地图中
div.onclick = function (e) {//地图上可以添加自定义标注
let icon = new BMap.Icon('http://pic002.cnblogs.com/images/2011/308287/2011091516161618.png', new BMap.Size(20, 32), {
anchor: new BMap.Size(10, 30),
})//设置标注图片和位置
var mkr = new BMap.Marker(new BMap.Point(116.06827, 22.549284), {
icon: icon,
enableDragging: true,
raiseOnDrag: true
});//设置起始坐标点
map.addOverlay(mkr);//添加标注在地图中并实现拖拽
}
ionic2如何调用百度地图的更多相关文章
- 苹果手机 微信调用百度地图Javascript API 频繁闪退问题
最近在网页中调用百度地图API js大众版,但是在IOS8系统中,缩放的时候频繁闪退,安卓手机没有这个问题! 在网上查询了下,有网友回答说不要频繁的去new marker,而是初始化话一定量的mark ...
- Android中调用百度地图
一.调用百度地图 --第一种方法 1.下载百度地图SDK SDK可以拆分下载,需要使用那一部分功能就下载相应包含的SDK,如下图 核心的的jar 和so包,放在工程中的libs目录下 2.申请key ...
- 在XAF(ASP.NET)中以ListEditor的形式调用百度地图API
因为项目需要,在系统中使用地图显示设备的地理位置.考虑过ArgGIS,Bing和Baidu地图.本来想用ArgGIS,看教程嫌麻烦.所以还是用Web地图吧.Bing的话还要申请个key,没心情.百度地 ...
- 调用百度地图Api实现的查看地图功能的小插件
1. 功能 bMap.js 可根据地理位置调用出百度地图,采用弹出框形式 2.用法 var city = '青岛市'; var address = '香港中路'; bMap.init({ city : ...
- 【c#】Form调用百度地图api攻略及常见问题
首先,在Form中调用百度地图api,我们需要使用webbrowser控件,这个在前面的文章中已经讲过了,可以参照(http://blog.csdn.net/buptgshengod/article/ ...
- Delphi XE6 通过JavaScript API调用百度地图
参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的. 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu ...
- js调用百度地图接口
原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...
- Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码
(从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...
- [置顶]
Xamarin android如何调用百度地图入门示例(一)
在Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词"百度地图api",的确是泛泛而谈,我们来看一下百度地图的 ...
随机推荐
- 【转】 Solr的SolrCloud与Master-slave主从模式对比
第一印象 SolrCloud是Solr4.0引入的,主要应对与商业场景.它很像master-slave,却能自动化的完成以前需要手动完成的操作.利用ZooKeeper这个工具去监控整个Solr集群,以 ...
- springboot集成shiro的session污染问题
问题起因是这样的,有两套系统,系统a和系统b.两套系统均使用shiro做的权限管理,之前部署在两台机器上.使用浏览器打开a系统后另开页签打开b系统,互不干扰都能正常使用,后因业务迁移,两套系统部署到了 ...
- javaweb基础(27)_jsp标签库实例
一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...
- axios常见传参方式
1:get请求 一般发送请求是这么写 axios.get('/user?id=12345&name=user') .then(function (res) { console.log(res) ...
- Oracle问题分析采集数据的方法
1.背景: 运维人员或多或少都会遇到分析问题.分析故障的时候,往往在碰到一些棘手的问题事,我们都会往更深层次的专家进行求助.不管是二线专家还是Oracle全球服务工程师(后文称GCS工程师),往往都会 ...
- 回数是指从左向右读和从右向左读都是一样的数,例如 12321 , 909 。请利用 filter() 滤掉非回数
不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!! 最近一段时间学习了廖雪峰老师学的Python学习资料,给自己的帮助很大,同时也学到的了很多,今天做了一道练习题,对于 ...
- mysql 绿色版 安装
1.下载mysql的绿色版压缩包.(自行百度) 2.自行规划目录解压 3.安装 注意:我遇到的两种版本的安装方法(暂时按照解压后的目录中是否含有data目录来区分) 3.1 无data目录(我用到的的 ...
- PyCharm(二)——PyCharm打开本地项目不显示项目文件
一.问题描述 1.1.系统及软件环境 系统:windows10 64位企业版 软件:PyCharm2018.1.4 1.2.问题现象 现象: PyCharm之前一直正常. 从github克隆了一个项目 ...
- ZendFramework-2.4 源代码 - ViewManager类图
- C++构造函数实例——拷贝构造,赋值
#define _CRT_SECURE_NO_WARNINGS //windows系统 #include <iostream> #include <cstdlib> #incl ...