小编Krz*_*ski的帖子

在Android谷歌地图中绘制4K折线

我正在开发Android设备的应用程序.主要功能是在地图上绘制折线,以显示每条街道上城市的交通量.不幸的是,当我绘制3K折线时 - 根据屏幕尺寸和缩放级别减少数量 - 我的地图变得非常慢......我没有提到绘制所有线条的时间.

也许你知道在地图上标记街道或画线的更有效方法吗?

我也在考虑切换到OSM,但我从未使用它,我不知道它的效率如何.

我调试三星Galaxy Note 10.1上的应用程序,App使用Map API v2

我绘制折线的代码:

Polyline line;
List<Float> coordinatesStart;
List<Float> coordinatesEnd;
LatLng start;
LatLng end;
List<List<Float>> coordinates;
int polylinesNumber = 0;
for(Features ftr : features){
    coordinates = ftr.geometry.coordinates;

    for(int i = 0; i<coordinates.size()-1; i++){

            coordinatesStart = coordinates.get(i);
            coordinatesEnd = coordinates.get(i+1);
            start = new LatLng(coordinatesStart.get(1), coordinatesStart.get(0));
            end = new LatLng(coordinatesEnd.get(1), coordinatesEnd.get(0));
            line = map.addPolyline(new PolylineOptions()
             .add(start, end)
             .width(3)
             .color(0x7F0000FF)); //semi-transparent blue
            polylinesNumber++;

    }
}
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助!

java performance android google-maps-android-api-2

7
推荐指数
2
解决办法
4897
查看次数

QTcpSocket双向客户端 - 服务器通信

我正在为基于套接字接口的Raspberry PI开发应用程序.主要的想法是Raspberry将连接到传感器,收集数据并通过WiFi将其发送到Android设备.从Android我可以与传感器发送一些命令进行通信.我是这种开发的初学者,并且关于QTcpSocket的一些教程我已经创建了一个简单的客户端 - 服务器应用程序,但它只是在一个方向.服务器侦听客户端发送的内容.你能帮助我把它改进为双向沟通吗?我已经读过QTcpSocket不需要线程来解决这类问题,但我找不到任何解决方案.

我将不胜感激任何帮助!

server.cpp:

#include "server.h"
#include <QTcpServer>
#include <QTcpSocket>
#include <cstdio>
#include <QtDebug>

Server::Server(QObject *parent) :
QObject(parent)
{
    server = new QTcpServer(this);
    connect(server, SIGNAL(newConnection()),
    this, SLOT(on_newConnection()));
}

void Server::listen()
{
    server->listen(QHostAddress::Any, 5100);
}

void Server::on_newConnection()
{
    socket = server->nextPendingConnection();

    if(socket->state() == QTcpSocket::ConnectedState)
    {
        printf("New connection established.\n");
        qDebug()<<socket->peerAddress();
    }
    connect(socket, SIGNAL(disconnected()),
    this, SLOT(on_disconnected()));
    connect(socket, SIGNAL(readyRead()),
    this, SLOT(on_readyRead()));
}

void Server::on_readyRead()
{
    while(socket->canReadLine())
    {
        QByteArray ba = socket->readLine();

        if(strcmp(ba.constData(), "!exit\n") == 0)
        {
            socket->disconnectFromHost();
            break;
        }
        printf(">> %s", ba.constData()); …
Run Code Online (Sandbox Code Playgroud)

c++ sockets qt4 tcp-ip raspberry-pi

4
推荐指数
1
解决办法
2万
查看次数