【Shiny】基于R-Shiny制作地图App(百度地图)

本文介绍了如何利用R语言的Shiny包创建一个基于Web的互动地图应用,结合百度地图API和baidumap包,实现地图展示、坐标定位及路线规划等功能。通过Shiny将R代码转化为HTML,提供动态且交互式的地图体验。
摘要由CSDN通过智能技术生成

估计每个爱好编程的都想某天可以开发出一个专属于自己的软件or应用,在下也是。然而由于当初入门编程的时候偷懒特地避开了那些以开发为目的源代码级的语言(比如说java,C和C++)而选择了R,我离这个目标估计是越走越远了。虽然R语言拥有自己的GUI开发工具,但是由于不能封装所以只能给留给自己看。不过好在Rstudio公司开发的Shiny包可以基于R语言制作web端的APP,依托于互联网,算是间接实现了封装并传播的功能。不过shiny所实现的web app只能实现些比较简单的功能,设计出来的初衷是为了在结果展示的时候作为Data Product来保证展示的过程更流畅更直观。所以想做游戏的还是安心学java吧。这次想分享的是我自己闲着没事儿整出来的一个阉割版的百度地图,照着Shiny Gallery里面的某些大神那里得到的灵感,闲着没事儿去里面转转,确实可以学到很多东西。

Shiny

Shiny在这里就不过多介绍了,简言之他就是一个可以将R代码的架构转换为HTML架构的神奇的东西,换言之就是某尊大神将HTML给封装成了R语言的一个包大概的工作原理是这样的




一般网页开发分为前段和后端,前端差不多就是网页里的那些图标啊排版啊啥的,后端就是在你对网页进行操作时,网页该如何进行反馈的交互逻辑。一般即使有HTML文件也是用不了的,因为没有后端的话这网页除了看没什么用,不过牛逼的是Shiny还能帮你把后端给组织好。跟web开发类似,Shiny包里的架构逻辑也是需要分好前端和后端的,分别用 ui.Rserver.R两个文件来储存。先来个简单的:

Sample 1

这是一个用来反映Kmeans均值聚类实时效果的简单应用,可以自己DIY中心点个数以及要聚类的两个变量,数据集是鸢尾花。
界面是这样的,目前这图里反应的是将Sepal.Length和Sepal.Width分为3类后,样本分布情况。




代码也分为前端和后端,前端是ui,后端是sever

## The UI of the web
library(shiny)
library(ggplot2)

ui <- shinyUI(fluidPage(
  headerPanel(title = 'Test Kmeans'),
  sidebarPanel(
    selectInput(inputId = 'Col',label = 'The Variables',
                choices = c('Sepal.Length','Sepal.Width','Petal.Length','Petal.Width'),
                selected = c('Sepal.Length','Sepal.Width'),
                multiple = T),
    numericInput(inputId = 'center',label = 'Centroids',value = 3,min = 1,max = 10,step = 1),
    submitButton(text='submit')
  ),
  mainPanel(
    h1('The result of Kmeans'),
    plotOutput(o
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值